Pathfinder 1e for Foundry VTT
    Preparing search index...

    Hierarchy

    • DataModel
      • HealthConfigModel
    Index

    Constructors

    • Parameters

      • ...args: ConstructorArgs<any, null, any>

      Returns HealthConfigModel

    Properties

    continuous: any
    maximized: number
    npc: {
        classes: {
            base: { auto: boolean; maximized: boolean; rate: number };
            npc: { auto: boolean; maximized: boolean; rate: number };
            racial: { auto: boolean; maximized: boolean; rate: number };
        };
        rules: { useWoundsAndVigor: boolean; useWoundThresholds: 0
        | 1
        | 2 };
    }
    pc: {
        classes: {
            base: { auto: boolean; maximized: boolean; rate: number };
            npc: { auto: boolean; maximized: boolean; rate: number };
            racial: { auto: boolean; maximized: boolean; rate: number };
        };
        rules: { useWoundsAndVigor: boolean; useWoundThresholds: 0
        | 1
        | 2 };
    }
    rounding: string

    up

    Accessors

    Methods

    • Get actor type specific config

      Parameters

      • actor: string | Actor<"base" | ModuleSubType>

        Actor document or type string

      Returns object

    • Retrieve hit die configuration relevant to given class.

      Parameters

      • item: ItemClassPF
      • OptionalactorType: string

        Actor type. If not provided, will be retrieved from the item parent or fall back to character.

      Returns object

    • Define the data schema for documents of this type. The schema is populated the first time it is accessed and cached for future reuse.

      Returns {
          maximized: NumberField<
              { initial: 1; integer: true; min: 0; step: 1 },
              AssignmentType<{ initial: 1; integer: true; min: 0; step: 1 }>,
              InitializedType<{ initial: 1; integer: true; min: 0; step: 1 }>,
              InitializedType<{ initial: 1; integer: true; min: 0; step: 1 }>,
          >;
          npc: SchemaField<
              {
                  classes: SchemaField<
                      {
                          base: SchemaField<
                              {
                                  auto: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  maximized: BooleanField<
                                      { initial: boolean },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  rate: NumberField<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      AssignmentType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                  >;
                              },
                              DefaultOptions,
                              AssignmentType<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  SimpleMerge<DefaultOptions, DefaultOptions>,
                              >,
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                          >;
                          npc: SchemaField<
                              {
                                  auto: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  maximized: BooleanField<
                                      { initial: boolean },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  rate: NumberField<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      AssignmentType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                  >;
                              },
                              DefaultOptions,
                              AssignmentType<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  SimpleMerge<DefaultOptions, DefaultOptions>,
                              >,
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                          >;
                          racial: SchemaField<
                              {
                                  auto: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  maximized: BooleanField<
                                      { initial: boolean },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  rate: NumberField<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      AssignmentType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                  >;
                              },
                              DefaultOptions,
                              AssignmentType<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  SimpleMerge<DefaultOptions, DefaultOptions>,
                              >,
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                          >;
                      },
                      DefaultOptions,
                      AssignmentType<
                          {
                              base: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              npc: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              racial: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                          },
                          SimpleMerge<DefaultOptions, DefaultOptions>,
                      >,
                      {
                          base: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          npc: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          racial: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                      },
                      {
                          base: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          npc: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          racial: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                      },
                  >;
                  continuous: BooleanField<
                      { initial: true },
                      AssignmentType<SimpleMerge<{ initial: true }, DefaultOptions>>,
                      InitializedType<SimpleMerge<{ initial: true }, DefaultOptions>>,
                      InitializedType<SimpleMerge<{ initial: true }, DefaultOptions>>,
                  >;
                  rules: SchemaField<
                      {
                          useWoundsAndVigor: BooleanField<
                              { initial: false },
                              AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                          >;
                          useWoundThresholds: NumberField<
                              {
                                  choices: () => { "0": string; "1": string; "2": string };
                                  initial: 0;
                              },
                              AssignmentType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >,
                              InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >,
                              InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >,
                          >;
                      },
                      DefaultOptions,
                      AssignmentType<
                          {
                              useWoundsAndVigor: BooleanField<
                                  { initial: false },
                                  AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              >;
                              useWoundThresholds: NumberField<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                                  AssignmentType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                              >;
                          },
                          SimpleMerge<DefaultOptions, DefaultOptions>,
                      >,
                      {
                          useWoundsAndVigor: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          useWoundThresholds: InitializedType<
                              {
                                  choices: () => { "0": string; "1": string; "2": string };
                                  initial: 0;
                              },
                          >;
                      },
                      {
                          useWoundsAndVigor: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          useWoundThresholds: InitializedType<
                              {
                                  choices: () => { "0": string; "1": string; "2": string };
                                  initial: 0;
                              },
                          >;
                      },
                  >;
              },
              DefaultOptions,
              AssignmentType<
                  {
                      classes: SchemaField<
                          {
                              base: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              npc: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              racial: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                          },
                          DefaultOptions,
                          AssignmentType<
                              {
                                  base: SchemaField<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      DefaultOptions,
                                      AssignmentType<
                                          {
                                              auto: BooleanField<(...), (...), (...), (...)>;
                                              maximized: BooleanField<(...), (...), (...), (...)>;
                                              rate: NumberField<(...), (...), (...), (...)>;
                                          },
                                          SimpleMerge<DefaultOptions, DefaultOptions>,
                                      >,
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                  >;
                                  npc: SchemaField<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      DefaultOptions,
                                      AssignmentType<
                                          {
                                              auto: BooleanField<(...), (...), (...), (...)>;
                                              maximized: BooleanField<(...), (...), (...), (...)>;
                                              rate: NumberField<(...), (...), (...), (...)>;
                                          },
                                          SimpleMerge<DefaultOptions, DefaultOptions>,
                                      >,
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                  >;
                                  racial: SchemaField<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      DefaultOptions,
                                      AssignmentType<
                                          {
                                              auto: BooleanField<(...), (...), (...), (...)>;
                                              maximized: BooleanField<(...), (...), (...), (...)>;
                                              rate: NumberField<(...), (...), (...), (...)>;
                                          },
                                          SimpleMerge<DefaultOptions, DefaultOptions>,
                                      >,
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                  >;
                              },
                              SimpleMerge<DefaultOptions, DefaultOptions>,
                          >,
                          {
                              base: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              npc: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              racial: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                          },
                          {
                              base: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              npc: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              racial: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                          },
                      >;
                      continuous: BooleanField<
                          { initial: true },
                          AssignmentType<SimpleMerge<{ initial: true }, DefaultOptions>>,
                          InitializedType<SimpleMerge<{ initial: true }, DefaultOptions>>,
                          InitializedType<SimpleMerge<{ initial: true }, DefaultOptions>>,
                      >;
                      rules: SchemaField<
                          {
                              useWoundsAndVigor: BooleanField<
                                  { initial: false },
                                  AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              >;
                              useWoundThresholds: NumberField<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                                  AssignmentType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                              >;
                          },
                          DefaultOptions,
                          AssignmentType<
                              {
                                  useWoundsAndVigor: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  useWoundThresholds: NumberField<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                      AssignmentType<{ choices: () => ...; initial: 0 }>,
                                      InitializedType<{ choices: () => ...; initial: 0 }>,
                                      InitializedType<{ choices: () => ...; initial: 0 }>,
                                  >;
                              },
                              SimpleMerge<DefaultOptions, DefaultOptions>,
                          >,
                          {
                              useWoundsAndVigor: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              useWoundThresholds: InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >;
                          },
                          {
                              useWoundsAndVigor: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              useWoundThresholds: InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >;
                          },
                      >;
                  },
                  SimpleMerge<DefaultOptions, DefaultOptions>,
              >,
              {
                  classes: {
                      base: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      npc: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      racial: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                  };
                  continuous: InitializedType<
                      SimpleMerge<{ initial: true }, DefaultOptions>,
                  >;
                  rules: {
                      useWoundsAndVigor: InitializedType<
                          SimpleMerge<{ initial: false }, DefaultOptions>,
                      >;
                      useWoundThresholds: InitializedType<
                          {
                              choices: () => { "0": string; "1": string; "2": string };
                              initial: 0;
                          },
                      >;
                  };
              },
              {
                  classes: {
                      base: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      npc: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      racial: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                  };
                  continuous: InitializedType<
                      SimpleMerge<{ initial: true }, DefaultOptions>,
                  >;
                  rules: {
                      useWoundsAndVigor: InitializedType<
                          SimpleMerge<{ initial: false }, DefaultOptions>,
                      >;
                      useWoundThresholds: InitializedType<
                          {
                              choices: () => { "0": string; "1": string; "2": string };
                              initial: 0;
                          },
                      >;
                  };
              },
          >;
          pc: SchemaField<
              {
                  classes: SchemaField<
                      {
                          base: SchemaField<
                              {
                                  auto: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  maximized: BooleanField<
                                      { initial: boolean },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  rate: NumberField<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      AssignmentType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                  >;
                              },
                              DefaultOptions,
                              AssignmentType<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  SimpleMerge<DefaultOptions, DefaultOptions>,
                              >,
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                          >;
                          npc: SchemaField<
                              {
                                  auto: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  maximized: BooleanField<
                                      { initial: boolean },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  rate: NumberField<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      AssignmentType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                  >;
                              },
                              DefaultOptions,
                              AssignmentType<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  SimpleMerge<DefaultOptions, DefaultOptions>,
                              >,
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                          >;
                          racial: SchemaField<
                              {
                                  auto: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  maximized: BooleanField<
                                      { initial: boolean },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  rate: NumberField<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      AssignmentType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                      InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >,
                                  >;
                              },
                              DefaultOptions,
                              AssignmentType<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  SimpleMerge<DefaultOptions, DefaultOptions>,
                              >,
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                              {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              },
                          >;
                      },
                      DefaultOptions,
                      AssignmentType<
                          {
                              base: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              npc: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              racial: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                          },
                          SimpleMerge<DefaultOptions, DefaultOptions>,
                      >,
                      {
                          base: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          npc: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          racial: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                      },
                      {
                          base: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          npc: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                          racial: {
                              auto: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              maximized: InitializedType<
                                  SimpleMerge<{ initial: boolean }, DefaultOptions>,
                              >;
                              rate: InitializedType<
                                  { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                              >;
                          };
                      },
                  >;
                  continuous: BooleanField<
                      { initial: false },
                      AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                      InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                      InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                  >;
                  rules: SchemaField<
                      {
                          useWoundsAndVigor: BooleanField<
                              { initial: false },
                              AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                          >;
                          useWoundThresholds: NumberField<
                              {
                                  choices: () => { "0": string; "1": string; "2": string };
                                  initial: 0;
                              },
                              AssignmentType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >,
                              InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >,
                              InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >,
                          >;
                      },
                      DefaultOptions,
                      AssignmentType<
                          {
                              useWoundsAndVigor: BooleanField<
                                  { initial: false },
                                  AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              >;
                              useWoundThresholds: NumberField<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                                  AssignmentType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                              >;
                          },
                          SimpleMerge<DefaultOptions, DefaultOptions>,
                      >,
                      {
                          useWoundsAndVigor: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          useWoundThresholds: InitializedType<
                              {
                                  choices: () => { "0": string; "1": string; "2": string };
                                  initial: 0;
                              },
                          >;
                      },
                      {
                          useWoundsAndVigor: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          useWoundThresholds: InitializedType<
                              {
                                  choices: () => { "0": string; "1": string; "2": string };
                                  initial: 0;
                              },
                          >;
                      },
                  >;
              },
              DefaultOptions,
              AssignmentType<
                  {
                      classes: SchemaField<
                          {
                              base: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              npc: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                              racial: SchemaField<
                                  {
                                      auto: BooleanField<
                                          { initial: false },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      maximized: BooleanField<
                                          { initial: boolean },
                                          AssignmentType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                          InitializedType<SimpleMerge<(...), (...)>>,
                                      >;
                                      rate: NumberField<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                          AssignmentType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                          InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >,
                                      >;
                                  },
                                  DefaultOptions,
                                  AssignmentType<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      SimpleMerge<DefaultOptions, DefaultOptions>,
                                  >,
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                                  {
                                      auto: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      maximized: InitializedType<
                                          SimpleMerge<{ initial: ... }, DefaultOptions>,
                                      >;
                                      rate: InitializedType<
                                          { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                      >;
                                  },
                              >;
                          },
                          DefaultOptions,
                          AssignmentType<
                              {
                                  base: SchemaField<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      DefaultOptions,
                                      AssignmentType<
                                          {
                                              auto: BooleanField<(...), (...), (...), (...)>;
                                              maximized: BooleanField<(...), (...), (...), (...)>;
                                              rate: NumberField<(...), (...), (...), (...)>;
                                          },
                                          SimpleMerge<DefaultOptions, DefaultOptions>,
                                      >,
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                  >;
                                  npc: SchemaField<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      DefaultOptions,
                                      AssignmentType<
                                          {
                                              auto: BooleanField<(...), (...), (...), (...)>;
                                              maximized: BooleanField<(...), (...), (...), (...)>;
                                              rate: NumberField<(...), (...), (...), (...)>;
                                          },
                                          SimpleMerge<DefaultOptions, DefaultOptions>,
                                      >,
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                  >;
                                  racial: SchemaField<
                                      {
                                          auto: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          maximized: BooleanField<
                                              { initial: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                          rate: NumberField<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                              AssignmentType<(...)>,
                                              InitializedType<(...)>,
                                              InitializedType<(...)>,
                                          >;
                                      },
                                      DefaultOptions,
                                      AssignmentType<
                                          {
                                              auto: BooleanField<(...), (...), (...), (...)>;
                                              maximized: BooleanField<(...), (...), (...), (...)>;
                                              rate: NumberField<(...), (...), (...), (...)>;
                                          },
                                          SimpleMerge<DefaultOptions, DefaultOptions>,
                                      >,
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                      {
                                          auto: InitializedType<SimpleMerge<(...), (...)>>;
                                          maximized: InitializedType<SimpleMerge<(...), (...)>>;
                                          rate: InitializedType<
                                              { initial: ...; max: ...; min: ...; positive: ...; step: ... },
                                          >;
                                      },
                                  >;
                              },
                              SimpleMerge<DefaultOptions, DefaultOptions>,
                          >,
                          {
                              base: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              npc: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              racial: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                          },
                          {
                              base: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              npc: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                              racial: {
                                  auto: InitializedType<
                                      SimpleMerge<{ initial: false }, DefaultOptions>,
                                  >;
                                  maximized: InitializedType<
                                      SimpleMerge<{ initial: boolean }, DefaultOptions>,
                                  >;
                                  rate: InitializedType<
                                      { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                                  >;
                              };
                          },
                      >;
                      continuous: BooleanField<
                          { initial: false },
                          AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                          InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                          InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                      >;
                      rules: SchemaField<
                          {
                              useWoundsAndVigor: BooleanField<
                                  { initial: false },
                                  AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                                  InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
                              >;
                              useWoundThresholds: NumberField<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                                  AssignmentType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                                  InitializedType<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                  >,
                              >;
                          },
                          DefaultOptions,
                          AssignmentType<
                              {
                                  useWoundsAndVigor: BooleanField<
                                      { initial: false },
                                      AssignmentType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                      InitializedType<SimpleMerge<{ initial: ... }, DefaultOptions>>,
                                  >;
                                  useWoundThresholds: NumberField<
                                      { choices: () => { "0": ...; "1": ...; "2": ... }; initial: 0 },
                                      AssignmentType<{ choices: () => ...; initial: 0 }>,
                                      InitializedType<{ choices: () => ...; initial: 0 }>,
                                      InitializedType<{ choices: () => ...; initial: 0 }>,
                                  >;
                              },
                              SimpleMerge<DefaultOptions, DefaultOptions>,
                          >,
                          {
                              useWoundsAndVigor: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              useWoundThresholds: InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >;
                          },
                          {
                              useWoundsAndVigor: InitializedType<
                                  SimpleMerge<{ initial: false }, DefaultOptions>,
                              >;
                              useWoundThresholds: InitializedType<
                                  {
                                      choices: () => { "0": string; "1": string; "2": string };
                                      initial: 0;
                                  },
                              >;
                          },
                      >;
                  },
                  SimpleMerge<DefaultOptions, DefaultOptions>,
              >,
              {
                  classes: {
                      base: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      npc: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      racial: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                  };
                  continuous: InitializedType<
                      SimpleMerge<{ initial: false }, DefaultOptions>,
                  >;
                  rules: {
                      useWoundsAndVigor: InitializedType<
                          SimpleMerge<{ initial: false }, DefaultOptions>,
                      >;
                      useWoundThresholds: InitializedType<
                          {
                              choices: () => { "0": string; "1": string; "2": string };
                              initial: 0;
                          },
                      >;
                  };
              },
              {
                  classes: {
                      base: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      npc: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                      racial: {
                          auto: InitializedType<
                              SimpleMerge<{ initial: false }, DefaultOptions>,
                          >;
                          maximized: InitializedType<
                              SimpleMerge<{ initial: boolean }, DefaultOptions>,
                          >;
                          rate: InitializedType<
                              { initial: 0.5; max: 1; min: 0.01; positive: true; step: 0.01 },
                          >;
                      };
                  };
                  continuous: InitializedType<
                      SimpleMerge<{ initial: false }, DefaultOptions>,
                  >;
                  rules: {
                      useWoundsAndVigor: InitializedType<
                          SimpleMerge<{ initial: false }, DefaultOptions>,
                      >;
                      useWoundThresholds: InitializedType<
                          {
                              choices: () => { "0": string; "1": string; "2": string };
                              initial: 0;
                          },
                      >;
                  };
              },
          >;
          rounding: StringField<
              {
                  blank: false;
                  choices: () => { down: string; nearest: string; up: string };
                  initial: "up";
                  nullable: false;
              },
              AssignmentType<
                  {
                      blank: false;
                      choices: () => { down: string; nearest: string; up: string };
                      initial: "up";
                      nullable: false;
                  },
              >,
              InitializedType<
                  {
                      blank: false;
                      choices: () => { down: string; nearest: string; up: string };
                      initial: "up";
                      nullable: false;
                  },
              >,
              InitializedType<
                  {
                      blank: false;
                      choices: () => { down: string; nearest: string; up: string };
                      initial: "up";
                      nullable: false;
                  },
              >,
          >;
      }

      The returned value MUST be kept up to sync with the Schema type parameter.

    • Migrate candidate source data for this DataModel which may require initial cleaning or transformations.

      Parameters

      • source: any

        The candidate source data from which the model will be constructed

      Returns void

      Migrated source data, if necessary