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

    Trap actor data model

    Hierarchy

    • TypeDataModel
      • TrapModel
    Index

    Constructors

    • Parameters

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

      Returns TrapModel

    Methods

    • 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 {
          bypass: StringField<
              {
                  blank: true;
                  choices: () => {
                      hiddenLock: "Hidden Lock";
                      hiddenSwitch: "Hidden Switch";
                      lock: "Lock";
                  };
              },
              AssignmentType<
                  {
                      blank: true;
                      choices: () => {
                          hiddenLock: "Hidden Lock";
                          hiddenSwitch: "Hidden Switch";
                          lock: "Lock";
                      };
                  },
              >,
              InitializedType<
                  {
                      blank: true;
                      choices: () => {
                          hiddenLock: "Hidden Lock";
                          hiddenSwitch: "Hidden Switch";
                          lock: "Lock";
                      };
                  },
              >,
              InitializedType<
                  {
                      blank: true;
                      choices: () => {
                          hiddenLock: "Hidden Lock";
                          hiddenSwitch: "Hidden Switch";
                          lock: "Lock";
                      };
                  },
              >,
          >;
          cr: SchemaField<
              {
                  offset: NumberField<
                      { initial: 0; integer: true; min: 0; nullable: false },
                      AssignmentType<{ initial: 0; integer: true; min: 0; nullable: false }>,
                      InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
                      InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
                  >;
              },
              DefaultOptions,
              AssignmentType<
                  {
                      offset: NumberField<
                          { initial: 0; integer: true; min: 0; nullable: false },
                          AssignmentType<{ initial: 0; integer: true; min: 0; nullable: false }>,
                          InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
                          InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
                      >;
                  },
                  SimpleMerge<DefaultOptions, DefaultOptions>,
              >,
              {
                  offset: InitializedType<
                      { initial: 0; integer: true; min: 0; nullable: false },
                  >;
              },
              {
                  offset: InitializedType<
                      { initial: 0; integer: true; min: 0; nullable: false },
                  >;
              },
          >;
          disarm: NumberField<
              { initial: 0; integer: true; min: 0; nullable: false },
              AssignmentType<{ initial: 0; integer: true; min: 0; nullable: false }>,
              InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
              InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
          >;
          duration: SchemaField<
              {
                  units: StringField<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                      AssignmentType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                  >;
                  value: StringField<
                      DefaultOptions,
                      AssignmentType<DefaultOptions>,
                      InitializedType<DefaultOptions>,
                      InitializedType<DefaultOptions>,
                  >;
              },
              DefaultOptions,
              AssignmentType<
                  {
                      units: StringField<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                          AssignmentType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                      >;
                      value: StringField<
                          DefaultOptions,
                          AssignmentType<DefaultOptions>,
                          InitializedType<DefaultOptions>,
                          InitializedType<DefaultOptions>,
                      >;
                  },
                  SimpleMerge<DefaultOptions, DefaultOptions>,
              >,
              {
                  units: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                  >;
                  value: InitializedType<DefaultOptions>;
              },
              {
                  units: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                  >;
                  value: InitializedType<DefaultOptions>;
              },
          >;
          effect: HTMLField<
              DefaultOptions,
              AssignmentType<DefaultOptions>,
              string,
              string,
          >;
          notes: HTMLField<
              DefaultOptions,
              AssignmentType<DefaultOptions>,
              string,
              string,
          >;
          perception: NumberField<
              { initial: 0; integer: true; min: 0; nullable: false },
              AssignmentType<{ initial: 0; integer: true; min: 0; nullable: false }>,
              InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
              InitializedType<{ initial: 0; integer: true; min: 0; nullable: false }>,
          >;
          reset: SchemaField<
              {
                  type: StringField<
                      {
                          blank: true;
                          choices: () => {
                              automatic: "Automatic";
                              manual: "Manual";
                              repair: "Repair";
                          };
                      },
                      AssignmentType<
                          {
                              blank: true;
                              choices: () => {
                                  automatic: "Automatic";
                                  manual: "Manual";
                                  repair: "Repair";
                              };
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  automatic: "Automatic";
                                  manual: "Manual";
                                  repair: "Repair";
                              };
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  automatic: "Automatic";
                                  manual: "Manual";
                                  repair: "Repair";
                              };
                          },
                      >,
                  >;
                  units: StringField<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                      AssignmentType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                  >;
                  value: StringField<
                      DefaultOptions,
                      AssignmentType<DefaultOptions>,
                      InitializedType<DefaultOptions>,
                      InitializedType<DefaultOptions>,
                  >;
              },
              DefaultOptions,
              AssignmentType<
                  {
                      type: StringField<
                          {
                              blank: true;
                              choices: () => {
                                  automatic: "Automatic";
                                  manual: "Manual";
                                  repair: "Repair";
                              };
                          },
                          AssignmentType<
                              {
                                  blank: true;
                                  choices: () => {
                                      automatic: "Automatic";
                                      manual: "Manual";
                                      repair: "Repair";
                                  };
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      automatic: "Automatic";
                                      manual: "Manual";
                                      repair: "Repair";
                                  };
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      automatic: "Automatic";
                                      manual: "Manual";
                                      repair: "Repair";
                                  };
                              },
                          >,
                      >;
                      units: StringField<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                          AssignmentType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                      >;
                      value: StringField<
                          DefaultOptions,
                          AssignmentType<DefaultOptions>,
                          InitializedType<DefaultOptions>,
                          InitializedType<DefaultOptions>,
                      >;
                  },
                  SimpleMerge<DefaultOptions, DefaultOptions>,
              >,
              {
                  type: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              automatic: "Automatic";
                              manual: "Manual";
                              repair: "Repair";
                          };
                      },
                  >;
                  units: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                  >;
                  value: InitializedType<DefaultOptions>;
              },
              {
                  type: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              automatic: "Automatic";
                              manual: "Manual";
                              repair: "Repair";
                          };
                      },
                  >;
                  units: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                  >;
                  value: InitializedType<DefaultOptions>;
              },
          >;
          technology: BooleanField<
              { initial: false },
              AssignmentType<SimpleMerge<{ initial: false }, DefaultOptions>>,
              InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
              InitializedType<SimpleMerge<{ initial: false }, DefaultOptions>>,
          >;
          trigger: SchemaField<
              {
                  type: StringField<
                      {
                          blank: true;
                          choices: () => {
                              electricEyes: "Electric Eyes";
                              genetic: "Genetic";
                              location: "Location";
                              manual: "Manual";
                              proximity: "Proximity";
                              sound: "Sound";
                              spell: "Spell";
                              timed: "Timed";
                              touch: "Touch";
                              visual: "Visual";
                          };
                      },
                      AssignmentType<
                          {
                              blank: true;
                              choices: () => {
                                  electricEyes: "Electric Eyes";
                                  genetic: "Genetic";
                                  location: "Location";
                                  manual: "Manual";
                                  proximity: "Proximity";
                                  sound: "Sound";
                                  spell: "Spell";
                                  timed: "Timed";
                                  touch: "Touch";
                                  visual: "Visual";
                              };
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  electricEyes: "Electric Eyes";
                                  genetic: "Genetic";
                                  location: "Location";
                                  manual: "Manual";
                                  proximity: "Proximity";
                                  sound: "Sound";
                                  spell: "Spell";
                                  timed: "Timed";
                                  touch: "Touch";
                                  visual: "Visual";
                              };
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  electricEyes: "Electric Eyes";
                                  genetic: "Genetic";
                                  location: "Location";
                                  manual: "Manual";
                                  proximity: "Proximity";
                                  sound: "Sound";
                                  spell: "Spell";
                                  timed: "Timed";
                                  touch: "Touch";
                                  visual: "Visual";
                              };
                          },
                      >,
                  >;
                  units: StringField<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                      AssignmentType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                      >,
                  >;
                  value: StringField<
                      DefaultOptions,
                      AssignmentType<DefaultOptions>,
                      InitializedType<DefaultOptions>,
                      InitializedType<DefaultOptions>,
                  >;
                  vision: StringField<
                      {
                          blank: true;
                          choices: () => {
                              arcaneEye: "Arcane Eye";
                              clairvoyance: "Clairvoyance";
                              darkvision: "Darkvision";
                              seeInDarkness: "See in darkness";
                              trueSeeing: "True Seeing";
                          };
                      },
                      AssignmentType<
                          {
                              blank: true;
                              choices: () => {
                                  arcaneEye: "Arcane Eye";
                                  clairvoyance: "Clairvoyance";
                                  darkvision: "Darkvision";
                                  seeInDarkness: "See in darkness";
                                  trueSeeing: "True Seeing";
                              };
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  arcaneEye: "Arcane Eye";
                                  clairvoyance: "Clairvoyance";
                                  darkvision: "Darkvision";
                                  seeInDarkness: "See in darkness";
                                  trueSeeing: "True Seeing";
                              };
                          },
                      >,
                      InitializedType<
                          {
                              blank: true;
                              choices: () => {
                                  arcaneEye: "Arcane Eye";
                                  clairvoyance: "Clairvoyance";
                                  darkvision: "Darkvision";
                                  seeInDarkness: "See in darkness";
                                  trueSeeing: "True Seeing";
                              };
                          },
                      >,
                  >;
              },
              DefaultOptions,
              AssignmentType<
                  {
                      type: StringField<
                          {
                              blank: true;
                              choices: () => {
                                  electricEyes: "Electric Eyes";
                                  genetic: "Genetic";
                                  location: "Location";
                                  manual: "Manual";
                                  proximity: "Proximity";
                                  sound: "Sound";
                                  spell: "Spell";
                                  timed: "Timed";
                                  touch: "Touch";
                                  visual: "Visual";
                              };
                          },
                          AssignmentType<
                              {
                                  blank: true;
                                  choices: () => {
                                      electricEyes: "Electric Eyes";
                                      genetic: "Genetic";
                                      location: "Location";
                                      manual: "Manual";
                                      proximity: "Proximity";
                                      sound: "Sound";
                                      spell: "Spell";
                                      timed: "Timed";
                                      touch: "Touch";
                                      visual: "Visual";
                                  };
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      electricEyes: "Electric Eyes";
                                      genetic: "Genetic";
                                      location: "Location";
                                      manual: "Manual";
                                      proximity: "Proximity";
                                      sound: "Sound";
                                      spell: "Spell";
                                      timed: "Timed";
                                      touch: "Touch";
                                      visual: "Visual";
                                  };
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      electricEyes: "Electric Eyes";
                                      genetic: "Genetic";
                                      location: "Location";
                                      manual: "Manual";
                                      proximity: "Proximity";
                                      sound: "Sound";
                                      spell: "Spell";
                                      timed: "Timed";
                                      touch: "Touch";
                                      visual: "Visual";
                                  };
                              },
                          >,
                      >;
                      units: StringField<
                          {
                              blank: true;
                              choices: () => {
                                  day: "Days";
                                  hour: "Hours";
                                  inst: "Instantaneous";
                                  minute: "Minutes";
                                  month: "Months";
                                  perm: "Permanent";
                                  round: "Rounds";
                                  seeText: "See Text";
                                  spec: "Special";
                                  turn: "Turn";
                                  year: "Years";
                              };
                              initial: "inst";
                          },
                          AssignmentType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      day: "Days";
                                      hour: "Hours";
                                      inst: "Instantaneous";
                                      minute: "Minutes";
                                      month: "Months";
                                      perm: "Permanent";
                                      round: "Rounds";
                                      seeText: "See Text";
                                      spec: "Special";
                                      turn: "Turn";
                                      year: "Years";
                                  };
                                  initial: "inst";
                              },
                          >,
                      >;
                      value: StringField<
                          DefaultOptions,
                          AssignmentType<DefaultOptions>,
                          InitializedType<DefaultOptions>,
                          InitializedType<DefaultOptions>,
                      >;
                      vision: StringField<
                          {
                              blank: true;
                              choices: () => {
                                  arcaneEye: "Arcane Eye";
                                  clairvoyance: "Clairvoyance";
                                  darkvision: "Darkvision";
                                  seeInDarkness: "See in darkness";
                                  trueSeeing: "True Seeing";
                              };
                          },
                          AssignmentType<
                              {
                                  blank: true;
                                  choices: () => {
                                      arcaneEye: "Arcane Eye";
                                      clairvoyance: "Clairvoyance";
                                      darkvision: "Darkvision";
                                      seeInDarkness: "See in darkness";
                                      trueSeeing: "True Seeing";
                                  };
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      arcaneEye: "Arcane Eye";
                                      clairvoyance: "Clairvoyance";
                                      darkvision: "Darkvision";
                                      seeInDarkness: "See in darkness";
                                      trueSeeing: "True Seeing";
                                  };
                              },
                          >,
                          InitializedType<
                              {
                                  blank: true;
                                  choices: () => {
                                      arcaneEye: "Arcane Eye";
                                      clairvoyance: "Clairvoyance";
                                      darkvision: "Darkvision";
                                      seeInDarkness: "See in darkness";
                                      trueSeeing: "True Seeing";
                                  };
                              },
                          >,
                      >;
                  },
                  SimpleMerge<DefaultOptions, DefaultOptions>,
              >,
              {
                  type: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              electricEyes: "Electric Eyes";
                              genetic: "Genetic";
                              location: "Location";
                              manual: "Manual";
                              proximity: "Proximity";
                              sound: "Sound";
                              spell: "Spell";
                              timed: "Timed";
                              touch: "Touch";
                              visual: "Visual";
                          };
                      },
                  >;
                  units: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                  >;
                  value: InitializedType<DefaultOptions>;
                  vision: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              arcaneEye: "Arcane Eye";
                              clairvoyance: "Clairvoyance";
                              darkvision: "Darkvision";
                              seeInDarkness: "See in darkness";
                              trueSeeing: "True Seeing";
                          };
                      },
                  >;
              },
              {
                  type: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              electricEyes: "Electric Eyes";
                              genetic: "Genetic";
                              location: "Location";
                              manual: "Manual";
                              proximity: "Proximity";
                              sound: "Sound";
                              spell: "Spell";
                              timed: "Timed";
                              touch: "Touch";
                              visual: "Visual";
                          };
                      },
                  >;
                  units: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              day: "Days";
                              hour: "Hours";
                              inst: "Instantaneous";
                              minute: "Minutes";
                              month: "Months";
                              perm: "Permanent";
                              round: "Rounds";
                              seeText: "See Text";
                              spec: "Special";
                              turn: "Turn";
                              year: "Years";
                          };
                          initial: "inst";
                      },
                  >;
                  value: InitializedType<DefaultOptions>;
                  vision: InitializedType<
                      {
                          blank: true;
                          choices: () => {
                              arcaneEye: "Arcane Eye";
                              clairvoyance: "Clairvoyance";
                              darkvision: "Darkvision";
                              seeInDarkness: "See in darkness";
                              trueSeeing: "True Seeing";
                          };
                      },
                  >;
              },
          >;
          type: StringField<
              { initial: "mechanical" },
              AssignmentType<{ initial: "mechanical" }>,
              InitializedType<{ initial: "mechanical" }>,
              InitializedType<{ initial: "mechanical" }>,
          >;
      }

      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