From 8e72a41733ae3559303b0dc90900afd0a03f17fb Mon Sep 17 00:00:00 2001 From: In3luki <41452412+In3luki@users.noreply.github.com> Date: Mon, 1 Aug 2022 21:31:37 +0200 Subject: [PATCH] Add `system` property to `ActorSource` and `ItemSource` --- src/module/actor/character/data/types.ts | 2 +- src/module/actor/creature/data.ts | 2 +- src/module/actor/data/base.ts | 1 + src/module/actor/familiar/data.ts | 2 +- src/module/actor/hazard/data.ts | 2 +- src/module/actor/loot/data.ts | 2 +- src/module/actor/npc/data.ts | 2 +- src/module/item/data/base.ts | 2 +- src/module/migration/migrations/711-heritage-items.ts | 2 +- types/foundry/common/data/data/actor-data.d.ts | 1 + types/foundry/common/data/data/item-data.d.ts | 1 + 11 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/module/actor/character/data/types.ts b/src/module/actor/character/data/types.ts index 827d9021051..22786cd823a 100644 --- a/src/module/actor/character/data/types.ts +++ b/src/module/actor/character/data/types.ts @@ -45,7 +45,7 @@ interface CharacterSource extends BaseCreatureSource<"character", CharacterSyste } interface CharacterData - extends Omit, + extends Omit, BaseCreatureData { flags: CharacterFlags; } diff --git a/src/module/actor/creature/data.ts b/src/module/actor/creature/data.ts index ccc50c08f2c..71c9fcf06b3 100644 --- a/src/module/actor/creature/data.ts +++ b/src/module/actor/creature/data.ts @@ -34,7 +34,7 @@ interface BaseCreatureData< TType extends CreatureType = CreatureType, TSystemData extends CreatureSystemData = CreatureSystemData, TSource extends BaseCreatureSource = BaseCreatureSource -> extends Omit, "data" | "effects" | "flags" | "items" | "token" | "type">, +> extends Omit, "data" | "system" | "effects" | "flags" | "items" | "token" | "type">, BaseActorDataPF2e {} /** Skill and Lore statistics for rolling. Both short and longform are supported, but eventually only long form will be */ diff --git a/src/module/actor/data/base.ts b/src/module/actor/data/base.ts index e94259944c3..85d6c60e279 100644 --- a/src/module/actor/data/base.ts +++ b/src/module/actor/data/base.ts @@ -32,6 +32,7 @@ interface BaseActorDataPF2e< foundry.data.ActorData { readonly type: TType; readonly data: TSystemData; + readonly system: TSystemData; token: PrototypeTokenDataPF2e; flags: ActorFlagsPF2e; diff --git a/src/module/actor/familiar/data.ts b/src/module/actor/familiar/data.ts index d9112bbe2d1..4bf6f465b43 100644 --- a/src/module/actor/familiar/data.ts +++ b/src/module/actor/familiar/data.ts @@ -16,7 +16,7 @@ import type { FamiliarPF2e } from "."; type FamiliarSource = BaseCreatureSource<"familiar", FamiliarSystemSource>; interface FamiliarData - extends Omit, + extends Omit, BaseCreatureData {} interface FamiliarSystemSource extends Pick { diff --git a/src/module/actor/hazard/data.ts b/src/module/actor/hazard/data.ts index fa1c5b6286e..c665babdd32 100644 --- a/src/module/actor/hazard/data.ts +++ b/src/module/actor/hazard/data.ts @@ -16,7 +16,7 @@ import { HazardPF2e } from "."; type HazardSource = BaseActorSourcePF2e<"hazard", HazardSystemData>; interface HazardData - extends Omit, + extends Omit, BaseActorDataPF2e {} /** The raw information contained within the actor data object for hazards. */ diff --git a/src/module/actor/loot/data.ts b/src/module/actor/loot/data.ts index d5771c74f74..23f62e28517 100644 --- a/src/module/actor/loot/data.ts +++ b/src/module/actor/loot/data.ts @@ -13,7 +13,7 @@ import { LootPF2e } from "."; type LootSource = BaseActorSourcePF2e<"loot", LootSystemSource>; interface LootData - extends Omit, + extends Omit, BaseActorDataPF2e {} /** The system-level data of loot actors. */ diff --git a/src/module/actor/npc/data.ts b/src/module/actor/npc/data.ts index 6b06427db71..ce249fdce6d 100644 --- a/src/module/actor/npc/data.ts +++ b/src/module/actor/npc/data.ts @@ -29,7 +29,7 @@ interface NPCSource extends BaseCreatureSource<"npc", NPCSystemSource> { } interface NPCData - extends Omit, + extends Omit, BaseCreatureData { flags: NPCFlags; } diff --git a/src/module/item/data/base.ts b/src/module/item/data/base.ts index a97e7a5e5f2..f0bba3d196d 100644 --- a/src/module/item/data/base.ts +++ b/src/module/item/data/base.ts @@ -20,7 +20,7 @@ interface BaseItemDataPF2e< TType extends ItemType = ItemType, TSystemData extends ItemSystemData = ItemSystemData, TSource extends BaseItemSourcePF2e = BaseItemSourcePF2e -> extends Omit, "data" | "effects">, +> extends Omit, "data" | "system" | "effects">, foundry.data.ItemData { readonly type: TType; readonly data: TSystemData; diff --git a/src/module/migration/migrations/711-heritage-items.ts b/src/module/migration/migrations/711-heritage-items.ts index 00a2de77b09..3fb6da28d36 100644 --- a/src/module/migration/migrations/711-heritage-items.ts +++ b/src/module/migration/migrations/711-heritage-items.ts @@ -164,7 +164,7 @@ export class Migration711HeritageItems extends MigrationBase { private ancestrySlugs = Object.keys(this.officialAncestries); - private heritageFromFeat(feature: FeatSource): HeritageSource { + private heritageFromFeat(feature: FeatSource): Omit { const featureSlug = feature.data.slug ?? ""; const ancestrySlug = this.heritagesWithoutAncestryInName[featureSlug] ?? this.ancestrySlugs.find((s) => featureSlug.includes(s)); diff --git a/types/foundry/common/data/data/actor-data.d.ts b/types/foundry/common/data/data/actor-data.d.ts index d00d71f2559..883ba38ac46 100644 --- a/types/foundry/common/data/data/actor-data.d.ts +++ b/types/foundry/common/data/data/actor-data.d.ts @@ -30,6 +30,7 @@ declare module foundry { type: TType; img: ImagePath; data: TSystemSource; + system: TSystemSource; token: PrototypeTokenSource; items: TItemSource[]; effects: ActiveEffectSource[]; diff --git a/types/foundry/common/data/data/item-data.d.ts b/types/foundry/common/data/data/item-data.d.ts index 72b9ecb8f72..d7473f4188c 100644 --- a/types/foundry/common/data/data/item-data.d.ts +++ b/types/foundry/common/data/data/item-data.d.ts @@ -23,6 +23,7 @@ declare module foundry { type: TType; img: ImagePath; data: TSystemSource; + system: TSystemSource; effects: ActiveEffectSource[]; folder?: string | null; sort: number;