@league-of-foundry-developers/foundry-vtt-types 13.340.0 → 13.340.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/package.json +40 -18
- package/src/configuration/configuration.d.mts +24 -23
- package/src/configuration/documents.d.mts +295 -0
- package/src/configuration/globals.d.mts +8 -2
- package/src/configuration/index.d.mts +1 -0
- package/src/foundry/client/apps/app.d.mts +121 -119
- package/src/foundry/client/apps/av/av-config.d.mts +13 -8
- package/src/foundry/client/apps/av/cameras.d.mts +11 -11
- package/src/foundry/client/apps/dice/dice-config.d.mts +22 -8
- package/src/foundry/client/apps/form.d.mts +112 -94
- package/src/foundry/client/apps/forms/actor.d.mts +22 -12
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +13 -8
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +15 -7
- package/src/foundry/client/apps/forms/base-sheet.d.mts +14 -7
- package/src/foundry/client/apps/forms/card-config.d.mts +17 -9
- package/src/foundry/client/apps/forms/cards-config.d.mts +13 -14
- package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/combatant-config.d.mts +4 -4
- package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/effect-config.d.mts +6 -6
- package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
- package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
- package/src/foundry/client/apps/forms/grid-config.d.mts +11 -11
- package/src/foundry/client/apps/forms/image-popout.d.mts +28 -22
- package/src/foundry/client/apps/forms/item.d.mts +6 -6
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +17 -15
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +46 -37
- package/src/foundry/client/apps/forms/macro-config.d.mts +6 -6
- package/src/foundry/client/apps/forms/measure-template.d.mts +8 -8
- package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
- package/src/foundry/client/apps/forms/playlist-config.d.mts +7 -9
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +6 -6
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +9 -10
- package/src/foundry/client/apps/forms/scene-config.d.mts +39 -39
- package/src/foundry/client/apps/forms/sheet-config.d.mts +8 -8
- package/src/foundry/client/apps/forms/user-config.d.mts +11 -11
- package/src/foundry/client/apps/hud/chatbubble.d.mts +14 -9
- package/src/foundry/client/apps/hud/container.d.mts +3 -3
- package/src/foundry/client/apps/hud/controls.d.mts +124 -84
- package/src/foundry/client/apps/hud/hotbar.d.mts +12 -12
- package/src/foundry/client/apps/hud/hud.d.mts +4 -4
- package/src/foundry/client/apps/hud/menu.d.mts +6 -6
- package/src/foundry/client/apps/hud/navigation.d.mts +11 -11
- package/src/foundry/client/apps/hud/pause.d.mts +7 -7
- package/src/foundry/client/apps/hud/players.d.mts +11 -11
- package/src/foundry/client/apps/i18n.d.mts +31 -27
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +4 -4
- package/src/foundry/client/apps/placeables/index.d.mts +0 -2
- package/src/foundry/client/apps/placeables/note-config.d.mts +27 -17
- package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +8 -8
- package/src/foundry/client/apps/placeables/token-config.d.mts +84 -63
- package/src/foundry/client/apps/placeables/token-hud.d.mts +10 -10
- package/src/foundry/client/apps/placeables/wall-config.d.mts +19 -16
- package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
- package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +2 -2
- package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +13 -10
- package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +33 -28
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +12 -9
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +40 -32
- package/src/foundry/client/apps/sidebar/document-directory.d.mts +44 -37
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -7
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +34 -29
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +15 -15
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +21 -12
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +8 -8
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +21 -21
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +12 -12
- package/src/foundry/client/apps/templates.d.mts +2 -2
- package/src/foundry/client/av/clients/simplepeer.d.mts +4 -4
- package/src/foundry/client/av/settings.d.mts +16 -13
- package/src/foundry/client/config.d.mts +1982 -1823
- package/src/foundry/client/core/document-index.d.mts +12 -4
- package/src/foundry/client/core/hooks.d.mts +0 -2
- package/src/foundry/client/core/image.d.mts +13 -11
- package/src/foundry/client/core/issues.d.mts +11 -6
- package/src/foundry/client/core/keybindings.d.mts +3 -3
- package/src/foundry/client/core/nue.d.mts +1 -1
- package/src/foundry/client/core/packages.d.mts +393 -63
- package/src/foundry/client/core/settings.d.mts +34 -12
- package/src/foundry/client/core/socket.d.mts +2 -2
- package/src/foundry/client/core/sorting.d.mts +6 -6
- package/src/foundry/client/core/time.d.mts +6 -3
- package/src/foundry/client/core/tooltip.d.mts +1 -1
- package/src/foundry/client/core/tour.d.mts +58 -49
- package/src/foundry/client/core/tours.d.mts +1 -1
- package/src/foundry/client/core/utils.d.mts +3 -3
- package/src/foundry/client/core/workers.d.mts +24 -17
- package/src/foundry/client/data/abstract/canvas-document.d.mts +9 -15
- package/src/foundry/client/data/abstract/client-document.d.mts +133 -172
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +14 -36
- package/src/foundry/client/data/abstract/document-collection.d.mts +89 -65
- package/src/foundry/client/data/abstract/world-collection.d.mts +47 -53
- package/src/foundry/client/data/collections/actors.d.mts +24 -31
- package/src/foundry/client/data/collections/cards.d.mts +10 -6
- package/src/foundry/client/data/collections/combats.d.mts +12 -8
- package/src/foundry/client/data/collections/compendium-collection.d.mts +79 -66
- package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
- package/src/foundry/client/data/collections/compendium-packs.d.mts +4 -4
- package/src/foundry/client/data/collections/fog.d.mts +10 -6
- package/src/foundry/client/data/collections/folder.d.mts +15 -10
- package/src/foundry/client/data/collections/items.d.mts +11 -7
- package/src/foundry/client/data/collections/journal.d.mts +16 -10
- package/src/foundry/client/data/collections/macros.d.mts +15 -22
- package/src/foundry/client/data/collections/messages.d.mts +14 -10
- package/src/foundry/client/data/collections/playlists.d.mts +12 -9
- package/src/foundry/client/data/collections/scenes.d.mts +19 -31
- package/src/foundry/client/data/collections/settings.d.mts +10 -6
- package/src/foundry/client/data/collections/tables.d.mts +11 -7
- package/src/foundry/client/data/collections/users.d.mts +14 -11
- package/src/foundry/client/data/documents/active-effect.d.mts +652 -88
- package/src/foundry/client/data/documents/actor-delta.d.mts +672 -28
- package/src/foundry/client/data/documents/actor.d.mts +722 -60
- package/src/foundry/client/data/documents/adventure.d.mts +482 -49
- package/src/foundry/client/data/documents/ambient-light.d.mts +426 -21
- package/src/foundry/client/data/documents/ambient-sound.d.mts +474 -15
- package/src/foundry/client/data/documents/card.d.mts +570 -39
- package/src/foundry/client/data/documents/cards.d.mts +742 -78
- package/src/foundry/client/data/documents/chat-message.d.mts +578 -45
- package/src/foundry/client/data/documents/combat.d.mts +701 -71
- package/src/foundry/client/data/documents/combatant.d.mts +510 -28
- package/src/foundry/client/data/documents/drawing.d.mts +543 -16
- package/src/foundry/client/data/documents/fog-exploration.d.mts +413 -27
- package/src/foundry/client/data/documents/folder.d.mts +461 -40
- package/src/foundry/client/data/documents/item.d.mts +679 -25
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +587 -21
- package/src/foundry/client/data/documents/journal-entry.d.mts +621 -20
- package/src/foundry/client/data/documents/macro.d.mts +530 -25
- package/src/foundry/client/data/documents/measured-template.d.mts +480 -16
- package/src/foundry/client/data/documents/note.d.mts +495 -18
- package/src/foundry/client/data/documents/playlist-sound.d.mts +429 -27
- package/src/foundry/client/data/documents/playlist.d.mts +666 -75
- package/src/foundry/client/data/documents/region-behavior.d.mts +468 -38
- package/src/foundry/client/data/documents/region.d.mts +661 -35
- package/src/foundry/client/data/documents/scene.d.mts +986 -149
- package/src/foundry/client/data/documents/setting.d.mts +397 -15
- package/src/foundry/client/data/documents/table-result.d.mts +479 -17
- package/src/foundry/client/data/documents/table.d.mts +663 -80
- package/src/foundry/client/data/documents/tile.d.mts +502 -16
- package/src/foundry/client/data/documents/token.d.mts +1114 -90
- package/src/foundry/client/data/documents/user.d.mts +495 -27
- package/src/foundry/client/data/documents/wall.d.mts +550 -15
- package/src/foundry/client/game.d.mts +58 -92
- package/src/foundry/client/head.d.mts +5 -6
- package/src/foundry/client/hooks.d.mts +237 -221
- package/src/foundry/client/pixi/board.d.mts +95 -89
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +6 -5
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +5 -5
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +2 -2
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +3 -3
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +3 -3
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +23 -21
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +5 -5
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +5 -5
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +57 -51
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +3 -3
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +7 -7
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +19 -11
- package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +7 -2
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +29 -23
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +83 -38
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +3 -3
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +9 -9
- package/src/foundry/client/pixi/core/loader.d.mts +8 -8
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +9 -4
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +3 -3
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +3 -3
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +23 -17
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +19 -14
- package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -3
- package/src/foundry/client/pixi/groups/effects.d.mts +4 -4
- package/src/foundry/client/pixi/groups/environment.d.mts +5 -5
- package/src/foundry/client/pixi/groups/hidden.d.mts +3 -3
- package/src/foundry/client/pixi/groups/interface.d.mts +6 -6
- package/src/foundry/client/pixi/groups/overlay.d.mts +3 -3
- package/src/foundry/client/pixi/groups/primary.d.mts +11 -11
- package/src/foundry/client/pixi/groups/rendered.d.mts +3 -3
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +3 -3
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +13 -13
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +279 -233
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +17 -8
- package/src/foundry/client/pixi/layers/controls/door.d.mts +26 -14
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -79
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +4 -5
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +6 -4
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +7 -4
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +19 -16
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +101 -84
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +13 -4
- package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
- package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +134 -59
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +13 -3
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +89 -87
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +36 -15
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +3 -3
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +4 -4
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +6 -6
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +15 -11
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +11 -10
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +47 -28
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +25 -12
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -63
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +10 -11
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +28 -17
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +67 -46
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +50 -51
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +22 -16
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +123 -51
- package/src/foundry/client/pixi/perception/fog.d.mts +34 -19
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +137 -137
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +92 -67
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +3 -3
- package/src/foundry/client/pixi/placeable.d.mts +241 -146
- package/src/foundry/client/pixi/placeables/drawing.d.mts +260 -134
- package/src/foundry/client/pixi/placeables/light.d.mts +204 -66
- package/src/foundry/client/pixi/placeables/note.d.mts +150 -55
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +7 -6
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +3 -3
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +2 -2
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +4 -4
- package/src/foundry/client/pixi/placeables/region.d.mts +219 -110
- package/src/foundry/client/pixi/placeables/sound.d.mts +211 -68
- package/src/foundry/client/pixi/placeables/template.d.mts +186 -100
- package/src/foundry/client/pixi/placeables/tile.d.mts +211 -142
- package/src/foundry/client/pixi/placeables/token.d.mts +911 -568
- package/src/foundry/client/pixi/placeables/wall.d.mts +253 -130
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +27 -5
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +13 -5
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +6 -6
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +2 -2
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +6 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +6 -6
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +8 -5
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +6 -6
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +6 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +4 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +7 -7
- package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +4 -6
- package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +14 -15
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +20 -27
- package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +5 -5
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +5 -5
- package/src/foundry/client/tours/setup-tour.d.mts +15 -10
- package/src/foundry/client/ui/dialog.d.mts +3 -3
- package/src/foundry/client/ui/dragdrop.d.mts +33 -27
- package/src/foundry/client/ui/editor.d.mts +29 -21
- package/src/foundry/client/ui/filepicker.d.mts +42 -37
- package/src/foundry/client/ui/filter.d.mts +60 -48
- package/src/foundry/client/ui/forms.d.mts +22 -22
- package/src/foundry/client/ui/prosemirror.d.mts +15 -7
- package/src/foundry/client/ui/secrets.d.mts +43 -28
- package/src/foundry/client/ui/tabs.d.mts +40 -33
- package/src/foundry/client-esm/_module.d.mts +5 -5
- package/src/foundry/client-esm/_types.d.mts +2 -1
- package/src/foundry/client-esm/applications/api/application.d.mts +93 -31
- package/src/foundry/client-esm/applications/api/dialog.d.mts +23 -23
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +85 -32
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +4 -5
- package/src/foundry/client-esm/applications/apps/file-picker.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/grid-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/apps/image-popout.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +4 -4
- package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
- package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
- package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +1 -1
- package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +1 -1
- package/src/foundry/client-esm/applications/hud/token-hud.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +5 -5
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +4 -4
- package/src/foundry/client-esm/applications/sheets/card-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/note-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/template-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +1 -0
- package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +4 -4
- package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +2 -2
- package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +242 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +2 -2
- package/src/foundry/client-esm/applications/ux/context-menu.d.mts +56 -36
- package/src/foundry/client-esm/audio/_types.d.mts +2 -0
- package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
- package/src/foundry/client-esm/audio/cache.d.mts +31 -20
- package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
- package/src/foundry/client-esm/audio/helper.d.mts +124 -80
- package/src/foundry/client-esm/audio/sound.d.mts +202 -97
- package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +12 -4
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +13 -8
- package/src/foundry/client-esm/canvas/edges/edges.d.mts +3 -2
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +12 -10
- package/src/foundry/client-esm/canvas/regions/geometry.d.mts +14 -7
- package/src/foundry/client-esm/canvas/regions/mesh.d.mts +25 -14
- package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +50 -19
- package/src/foundry/client-esm/canvas/regions/shape.d.mts +45 -34
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +7 -6
- package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
- package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
- package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +119 -20
- package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +69 -39
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +66 -40
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +78 -19
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +37 -20
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +39 -20
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +41 -12
- package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +15 -4
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +29 -14
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +84 -39
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +115 -41
- package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +83 -21
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +66 -93
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +146 -51
- package/src/foundry/client-esm/client.d.mts +16 -16
- package/src/foundry/client-esm/data/_module.d.mts +1 -1
- package/src/foundry/client-esm/data/calendar.d.mts +26 -39
- package/src/foundry/client-esm/data/client-backend.d.mts +6 -6
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +1 -1
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +5 -5
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +2 -2
- package/src/foundry/client-esm/data/terrain-data.d.mts +1 -1
- package/src/foundry/client-esm/dice/parser.d.mts +5 -27
- package/src/foundry/client-esm/dice/roll.d.mts +63 -80
- package/src/foundry/client-esm/dice/terms/coin.d.mts +4 -8
- package/src/foundry/client-esm/dice/terms/dice.d.mts +85 -64
- package/src/foundry/client-esm/dice/terms/die.d.mts +7 -7
- package/src/foundry/client-esm/dice/terms/fate.d.mts +5 -5
- package/src/foundry/client-esm/dice/terms/function.d.mts +13 -16
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +2 -4
- package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +8 -9
- package/src/foundry/client-esm/dice/terms/pool.d.mts +13 -28
- package/src/foundry/client-esm/dice/terms/string.d.mts +3 -3
- package/src/foundry/client-esm/dice/terms/term.d.mts +10 -5
- package/src/foundry/client-esm/dice/twister.d.mts +3 -3
- package/src/foundry/client-esm/documents/_module.d.mts +1 -1
- package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
- package/src/foundry/client-esm/helpers/compendium-art.d.mts +57 -4
- package/src/foundry/client-esm/packages/_module.d.mts +1 -1
- package/src/foundry/client-esm/packages/_types.d.mts +2 -0
- package/src/foundry/client-esm/utils/_module.d.mts +1 -1
- package/src/foundry/client-esm/utils/_types.d.mts +2 -1
- package/src/foundry/common/_types.d.mts +1 -1
- package/src/foundry/common/abstract/_module.d.mts +1 -0
- package/src/foundry/common/abstract/_types.d.mts +60 -54
- package/src/foundry/common/abstract/backend.d.mts +28 -16
- package/src/foundry/common/abstract/data.d.mts +133 -116
- package/src/foundry/common/abstract/document.d.mts +1233 -440
- package/src/foundry/common/abstract/embedded-collection.d.mts +2 -2
- package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
- package/src/foundry/common/abstract/type-data.d.mts +35 -43
- package/src/foundry/common/config.d.mts +3 -3
- package/src/foundry/common/constants.d.mts +27 -26
- package/src/foundry/common/data/_types.d.mts +2 -0
- package/src/foundry/common/data/data.d.mts +189 -87
- package/src/foundry/common/data/fields.d.mts +579 -258
- package/src/foundry/common/data/validation-failure.d.mts +9 -4
- package/src/foundry/common/documents/_types.d.mts +16 -9
- package/src/foundry/common/documents/active-effect.d.mts +280 -180
- package/src/foundry/common/documents/actor-delta.d.mts +317 -70
- package/src/foundry/common/documents/actor.d.mts +304 -103
- package/src/foundry/common/documents/adventure.d.mts +254 -140
- package/src/foundry/common/documents/ambient-light.d.mts +267 -76
- package/src/foundry/common/documents/ambient-sound.d.mts +267 -110
- package/src/foundry/common/documents/card.d.mts +267 -176
- package/src/foundry/common/documents/cards.d.mts +299 -128
- package/src/foundry/common/documents/chat-message.d.mts +276 -160
- package/src/foundry/common/documents/combat.d.mts +300 -91
- package/src/foundry/common/documents/combatant.d.mts +283 -88
- package/src/foundry/common/documents/drawing.d.mts +286 -207
- package/src/foundry/common/documents/fog-exploration.d.mts +258 -72
- package/src/foundry/common/documents/folder.d.mts +248 -85
- package/src/foundry/common/documents/item.d.mts +305 -101
- package/src/foundry/common/documents/journal-entry-page.d.mts +279 -190
- package/src/foundry/common/documents/journal-entry.d.mts +294 -70
- package/src/foundry/common/documents/macro.d.mts +254 -134
- package/src/foundry/common/documents/measured-template.d.mts +293 -137
- package/src/foundry/common/documents/note.d.mts +274 -151
- package/src/foundry/common/documents/playlist-sound.d.mts +260 -96
- package/src/foundry/common/documents/playlist.d.mts +279 -122
- package/src/foundry/common/documents/region-behavior.d.mts +305 -64
- package/src/foundry/common/documents/region.d.mts +309 -90
- package/src/foundry/common/documents/roll-table.d.mts +286 -104
- package/src/foundry/common/documents/scene.d.mts +276 -344
- package/src/foundry/common/documents/setting.d.mts +229 -55
- package/src/foundry/common/documents/table-result.d.mts +267 -96
- package/src/foundry/common/documents/tile.d.mts +301 -172
- package/src/foundry/common/documents/token.d.mts +350 -452
- package/src/foundry/common/documents/user.d.mts +256 -146
- package/src/foundry/common/documents/wall.d.mts +272 -157
- package/src/foundry/common/grid/_types.d.mts +2 -0
- package/src/foundry/common/grid/base.d.mts +58 -37
- package/src/foundry/common/grid/hexagonal.d.mts +19 -19
- package/src/foundry/common/grid/square.d.mts +1 -1
- package/src/foundry/common/packages/_module.d.mts +5 -5
- package/src/foundry/common/packages/_types.d.mts +2 -0
- package/src/foundry/common/packages/base-module.d.mts +6 -24
- package/src/foundry/common/packages/base-package.d.mts +18 -16
- package/src/foundry/common/packages/base-system.d.mts +6 -78
- package/src/foundry/common/packages/base-world.d.mts +7 -60
- package/src/foundry/common/packages/sub-types.d.mts +1 -1
- package/src/foundry/common/primitives/array.d.mts +3 -3
- package/src/foundry/common/primitives/math.d.mts +7 -1
- package/src/foundry/common/primitives/number.d.mts +1 -1
- package/src/foundry/common/primitives/set.d.mts +17 -14
- package/src/foundry/common/prosemirror/_types.d.mts +2 -0
- package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/menu.d.mts +3 -3
- package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
- package/src/foundry/common/prosemirror/util.d.mts +1 -1
- package/src/foundry/common/utils/bitmask.d.mts +4 -1
- package/src/foundry/common/utils/collection.d.mts +59 -24
- package/src/foundry/common/utils/event-emitter.d.mts +46 -19
- package/src/foundry/common/utils/helpers.d.mts +13 -13
- package/src/foundry/common/utils/http.d.mts +2 -2
- package/src/foundry/common/utils/string-tree.d.mts +45 -39
- package/src/foundry/common/utils/word-tree.d.mts +10 -23
- package/src/tsconfig.json +1 -5
- package/src/types/augments/pixi.d.mts +28 -28
- package/src/types/config.d.mts +12 -12
- package/src/types/documentConfiguration.d.mts +282 -597
- package/src/types/lib.d.mts +4 -4
- package/src/types/workers/image-compressor.d.mts +1 -1
- package/src/utils/index.d.mts +255 -60
- package/tsconfig.json +29 -0
- package/tsconfig.main.json +8 -0
- package/tsconfig.miscellaneous.json +16 -0
- package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
- package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -44
- package/src/foundry/common/documents/module.d.mts +0 -35
@@ -1,36 +1,544 @@
|
|
1
|
-
import type {
|
2
|
-
import type
|
3
|
-
import type
|
1
|
+
import type { AnyObject, InexactPartial, NullishProps, Merge } from "fvtt-types/utils";
|
2
|
+
import type { documents } from "#client-esm/client.d.mts";
|
3
|
+
import type Document from "#common/abstract/document.d.mts";
|
4
|
+
import type EmbeddedCollection from "#common/abstract/embedded-collection.d.mts";
|
5
|
+
import type BaseActor from "#common/documents/actor.d.mts";
|
6
|
+
import type { ConfiguredActor } from "fvtt-types/configuration";
|
7
|
+
import type { DataSchema } from "#common/data/fields.d.mts";
|
8
|
+
import type { PrototypeToken } from "#common/data/data.mjs";
|
9
|
+
|
10
|
+
import fields = foundry.data.fields;
|
4
11
|
|
5
12
|
declare global {
|
6
13
|
namespace Actor {
|
7
|
-
|
14
|
+
/**
|
15
|
+
* The document's name.
|
16
|
+
*/
|
17
|
+
type Name = "Actor";
|
8
18
|
|
9
|
-
|
10
|
-
|
19
|
+
/**
|
20
|
+
* The arguments to construct the document.
|
21
|
+
*/
|
22
|
+
type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
|
11
23
|
|
12
|
-
|
24
|
+
/**
|
25
|
+
* The documents embedded within `Actor`.
|
26
|
+
*/
|
27
|
+
type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
|
13
28
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
29
|
+
/**
|
30
|
+
* The implementation of the `Actor` document instance configured through `CONFIG.Actor.documentClass` in Foundry and
|
31
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredActor | `fvtt-types/configuration/ConfiguredActor`} in fvtt-types.
|
32
|
+
*/
|
33
|
+
type Implementation = Document.ImplementationFor<"Actor">;
|
34
|
+
|
35
|
+
/**
|
36
|
+
* The implementation of the `Actor` document configured through `CONFIG.Actor.documentClass` in Foundry and
|
37
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
|
38
|
+
*/
|
39
|
+
type ImplementationClass = Document.ImplementationClassFor<"Actor">;
|
40
|
+
|
41
|
+
/**
|
42
|
+
* A document's metadata is special information about the document ranging anywhere from its name,
|
43
|
+
* whether it's indexed, or to the permissions a user has over it.
|
44
|
+
*/
|
45
|
+
interface Metadata
|
46
|
+
extends Merge<
|
47
|
+
Document.Metadata.Default,
|
48
|
+
Readonly<{
|
49
|
+
name: "Actor";
|
50
|
+
collection: "actors";
|
51
|
+
indexed: true;
|
52
|
+
compendiumIndexFields: ["_id", "name", "img", "type", "sort", "folder"];
|
53
|
+
embedded: Metadata.Embedded;
|
54
|
+
hasTypeData: true;
|
55
|
+
label: string;
|
56
|
+
labelPlural: string;
|
57
|
+
permissions: Metadata.Permissions;
|
58
|
+
schemaVersion: string;
|
59
|
+
}>
|
60
|
+
> {}
|
61
|
+
|
62
|
+
namespace Metadata {
|
63
|
+
/**
|
64
|
+
* The embedded metadata
|
65
|
+
*/
|
66
|
+
interface Embedded {
|
67
|
+
ActiveEffect: "effects";
|
68
|
+
Item: "items";
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
* The permissions for whether a certain user can create, update, or delete this document.
|
73
|
+
*/
|
74
|
+
interface Permissions {
|
75
|
+
create(user: User.Internal.Implementation, doc: Implementation): boolean;
|
76
|
+
update(user: User.Internal.Implementation, doc: Implementation, data: UpdateData): boolean;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Allowed subtypes of `Actor`. This is configured through various methods. Modern Foundry
|
82
|
+
* recommends registering using [Data Models](https://foundryvtt.com/article/system-data-models/)
|
83
|
+
* under {@link CONFIG.Actor.dataModels | `CONFIG.Actor.dataModels`}. This corresponds to
|
84
|
+
* fvtt-type's {@link DataModelConfig | `DataModelConfig`}.
|
85
|
+
*
|
86
|
+
* Subtypes can also be registered through a `template.json` though this is discouraged.
|
87
|
+
* The corresponding fvtt-type configs are {@link SourceConfig | `SourceConfig`} and
|
88
|
+
* {@link DataConfig | `DataConfig`}.
|
89
|
+
*/
|
90
|
+
type SubType = Game.Model.TypeNames<"Actor">;
|
91
|
+
|
92
|
+
/**
|
93
|
+
* `ConfiguredSubTypes` represents the subtypes a user explicitly registered. This excludes
|
94
|
+
* subtypes like the Foundry builtin subtype `"base"` and the catch-all subtype for arbitrary
|
95
|
+
* module subtypes `${string}.${string}`.
|
96
|
+
*
|
97
|
+
* @see {@link SubType} for more information.
|
98
|
+
*/
|
99
|
+
type ConfiguredSubTypes = Document.ConfiguredSubTypesOf<"Actor">;
|
100
|
+
|
101
|
+
/**
|
102
|
+
* `Known` represents the types of `Actor` that a user explicitly registered.
|
103
|
+
*
|
104
|
+
* @see {@link ConfiguredSubTypes} for more information.
|
105
|
+
*/
|
106
|
+
type Known = Actor.OfType<Actor.ConfiguredSubTypes>;
|
107
|
+
|
108
|
+
/**
|
109
|
+
* `OfType` returns an instance of `Actor` with the corresponding type. This works with both the
|
110
|
+
* builtin `Actor` class or a custom subclass if that is set up in
|
111
|
+
* {@link ConfiguredActor | `fvtt-types/configuration/ConfiguredActor`}.
|
112
|
+
*/
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-restricted-types
|
114
|
+
type OfType<Type extends SubType> = Document.Internal.OfType<ConfiguredActor<Type>, Actor<Type>>;
|
115
|
+
|
116
|
+
/**
|
117
|
+
* `SystemOfType` returns the system property for a specific `Actor` subtype.
|
118
|
+
*/
|
119
|
+
type SystemOfType<Type extends SubType> = Document.Internal.SystemOfType<_SystemMap, Type>;
|
120
|
+
|
121
|
+
/**
|
122
|
+
* @internal
|
123
|
+
*/
|
124
|
+
interface _SystemMap extends Document.Internal.SystemMap<"Actor"> {}
|
125
|
+
|
126
|
+
/**
|
127
|
+
* A document's parent is something that can contain it.
|
128
|
+
* For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
|
129
|
+
*/
|
130
|
+
type Parent = TokenDocument.Implementation | null;
|
131
|
+
|
132
|
+
/**
|
133
|
+
* A document's direct descendants are documents that are contained directly within its schema.
|
134
|
+
* This is a union of all such instances, or never if the document doesn't have any descendants.
|
135
|
+
*/
|
136
|
+
type DirectDescendant = Item.Stored | ActiveEffect.Stored;
|
137
|
+
|
138
|
+
/**
|
139
|
+
* A document's direct descendants are documents that are contained directly within its schema.
|
140
|
+
* This is a union of all such classes, or never if the document doesn't have any descendants.
|
141
|
+
*/
|
142
|
+
type DirectDescendantClass = Item.ImplementationClass | ActiveEffect.ImplementationClass;
|
143
|
+
|
144
|
+
/**
|
145
|
+
* A document's descendants are any documents that are contained within, either within its schema
|
146
|
+
* or its descendant's schemas.
|
147
|
+
* This is a union of all such instances, or never if the document doesn't have any descendants.
|
148
|
+
*/
|
149
|
+
type Descendant = DirectDescendant;
|
150
|
+
|
151
|
+
/**
|
152
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
153
|
+
* This is a union of all classes, or never if the document doesn't have any descendants.
|
154
|
+
*/
|
155
|
+
type DescendantClass = DirectDescendantClass;
|
156
|
+
|
157
|
+
/**
|
158
|
+
* Types of `CompendiumCollection` this document might be contained in.
|
159
|
+
* Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
|
160
|
+
*/
|
161
|
+
// Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
|
162
|
+
type Pack = CompendiumCollection.ForDocument<"Actor">;
|
163
|
+
|
164
|
+
/**
|
165
|
+
* An embedded document is a document contained in another.
|
166
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
167
|
+
*
|
168
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
169
|
+
*/
|
170
|
+
type Embedded = Document.ImplementationFor<Embedded.Name>;
|
171
|
+
|
172
|
+
namespace Embedded {
|
173
|
+
/**
|
174
|
+
* An embedded document is a document contained in another.
|
175
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
176
|
+
*
|
177
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
178
|
+
*/
|
179
|
+
type Name = keyof Metadata.Embedded;
|
180
|
+
|
181
|
+
/**
|
182
|
+
* Gets the collection name for an embedded document.
|
183
|
+
*/
|
184
|
+
type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
|
185
|
+
Metadata.Embedded,
|
186
|
+
CollectionName
|
187
|
+
>;
|
188
|
+
|
189
|
+
/**
|
190
|
+
* Gets the collection document for an embedded document.
|
191
|
+
*/
|
192
|
+
// TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
|
193
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
194
|
+
type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
|
195
|
+
|
196
|
+
/**
|
197
|
+
* Gets the collection for an embedded document.
|
198
|
+
*/
|
199
|
+
type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
|
200
|
+
// TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
|
201
|
+
Document.Any,
|
202
|
+
Metadata.Embedded,
|
203
|
+
CollectionName
|
25
204
|
>;
|
26
|
-
};
|
27
205
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
206
|
+
/**
|
207
|
+
* A valid name to refer to a collection embedded in this document. For example an `Actor`
|
208
|
+
* has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
|
209
|
+
* valid keys (amongst others).
|
210
|
+
*/
|
211
|
+
type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
|
212
|
+
}
|
213
|
+
|
214
|
+
/**
|
215
|
+
* The name of the world or embedded collection this document can find itself in.
|
216
|
+
* For example an `Item` is always going to be inside a collection with a key of `items`.
|
217
|
+
* This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
|
218
|
+
*/
|
219
|
+
type ParentCollectionName = Metadata["collection"];
|
220
|
+
|
221
|
+
/**
|
222
|
+
* The world collection that contains `Actor`s. Will be `never` if none exists.
|
223
|
+
*/
|
224
|
+
type CollectionClass = Actors.ConfiguredClass;
|
225
|
+
|
226
|
+
/**
|
227
|
+
* The world collection that contains `Actor`s. Will be `never` if none exists.
|
228
|
+
*/
|
229
|
+
type Collection = Actors.Configured;
|
230
|
+
|
231
|
+
/**
|
232
|
+
* An instance of `Actor` that comes from the database but failed validation meaining that
|
233
|
+
* its `system` and `_source` could theoretically be anything.
|
234
|
+
*/
|
235
|
+
interface Invalid<out SubType extends Actor.SubType = Actor.SubType> extends Document.Invalid<OfType<SubType>> {}
|
236
|
+
|
237
|
+
/**
|
238
|
+
* An instance of `Actor` that comes from the database.
|
239
|
+
*/
|
240
|
+
interface Stored<out SubType extends Actor.SubType = Actor.SubType> extends Document.Stored<OfType<SubType>> {}
|
241
|
+
|
242
|
+
/**
|
243
|
+
* The data put in {@link Actor._source | `Actor#_source`}. This data is what was
|
244
|
+
* persisted to the database and therefore it must be valid JSON.
|
245
|
+
*
|
246
|
+
* For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
|
247
|
+
* but initialized as a {@link Set | `Set`}.
|
248
|
+
*/
|
249
|
+
interface Source extends fields.SchemaField.SourceData<Schema> {}
|
250
|
+
|
251
|
+
/**
|
252
|
+
* @deprecated {@link Actor.Source | `Actor.Source`}
|
253
|
+
*/
|
254
|
+
type PersistedData = Source;
|
255
|
+
|
256
|
+
/**
|
257
|
+
* The data necessary to create a document. Used in places like {@link Actor.create | `Actor.create`}
|
258
|
+
* and {@link Actor | `new Actor(...)`}.
|
259
|
+
*
|
260
|
+
* For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
|
261
|
+
* with the right values. This means you can pass a `Set` instance, an array of values,
|
262
|
+
* a generator, or any other iterable.
|
263
|
+
*/
|
264
|
+
interface CreateData extends fields.SchemaField.CreateData<Schema> {}
|
265
|
+
|
266
|
+
/**
|
267
|
+
* The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
|
268
|
+
* {@link Actor.name | `Actor#name`}.
|
269
|
+
*
|
270
|
+
* This is data transformed from {@link Actor.Source | `Actor.Source`} and turned into more
|
271
|
+
* convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
|
272
|
+
* persisted to the database as an array of values but at runtime it is a `Set` instance.
|
273
|
+
*/
|
274
|
+
interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
|
275
|
+
|
276
|
+
/**
|
277
|
+
* The data used to update a document, for example {@link Actor.update | `Actor#update`}.
|
278
|
+
* It is a distinct type from {@link Actor.CreateData | `DeepPartial<Actor.CreateData>`} because
|
279
|
+
* it has different rules for `null` and `undefined`.
|
280
|
+
*/
|
281
|
+
interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
|
282
|
+
|
283
|
+
/**
|
284
|
+
* The schema for {@link Actor | `Actor`}. This is the source of truth for how an Actor document
|
285
|
+
* must be structured.
|
286
|
+
*
|
287
|
+
* Foundry uses this schema to validate the structure of the {@link Actor | `Actor`}. For example
|
288
|
+
* a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
|
289
|
+
* complex fields like {@link fields.SetField | `SetField`} goes through various conversions
|
290
|
+
* starting as an array in the database, initialized as a set, and allows updates with any
|
291
|
+
* iterable.
|
292
|
+
*/
|
293
|
+
interface Schema extends DataSchema {
|
294
|
+
/**
|
295
|
+
* The _id which uniquely identifies this Actor document
|
296
|
+
* @defaultValue `null`
|
297
|
+
*/
|
298
|
+
_id: fields.DocumentIdField;
|
299
|
+
|
300
|
+
/** The name of this Actor */
|
301
|
+
name: fields.StringField<{ required: true; blank: false; textSearch: true }>;
|
302
|
+
|
303
|
+
/** An Actor subtype which configures the system data model applied */
|
304
|
+
type: fields.DocumentTypeField<typeof BaseActor>;
|
305
|
+
|
306
|
+
/**
|
307
|
+
* An image file path which provides the artwork for this Actor
|
308
|
+
* @defaultValue `null`
|
309
|
+
*/
|
310
|
+
img: fields.FilePathField<{ categories: "IMAGE"[]; initial: (data: unknown) => string }>;
|
311
|
+
|
312
|
+
/**
|
313
|
+
* The system data object which is defined by the system template.json model
|
314
|
+
* @defaultValue `{}`
|
315
|
+
*/
|
316
|
+
system: fields.TypeDataField<typeof BaseActor>;
|
317
|
+
|
318
|
+
/**
|
319
|
+
* Default Token settings which are used for Tokens created from this Actor
|
320
|
+
* @defaultValue see {@link PrototypeToken | `PrototypeToken`}
|
321
|
+
*/
|
322
|
+
prototypeToken: fields.EmbeddedDataField<typeof PrototypeToken>;
|
323
|
+
|
324
|
+
/**
|
325
|
+
* A Collection of Item embedded Documents
|
326
|
+
* @defaultValue `[]`
|
327
|
+
*/
|
328
|
+
items: fields.EmbeddedCollectionField<typeof documents.BaseItem, Actor.Implementation>;
|
329
|
+
|
330
|
+
/**
|
331
|
+
* A Collection of ActiveEffect embedded Documents
|
332
|
+
* @defaultValue `[]`
|
333
|
+
*/
|
334
|
+
effects: fields.EmbeddedCollectionField<typeof documents.BaseActiveEffect, Actor.Implementation>;
|
335
|
+
|
336
|
+
/**
|
337
|
+
* The _id of a Folder which contains this Actor
|
338
|
+
* @defaultValue `null`
|
339
|
+
*/
|
340
|
+
folder: fields.ForeignDocumentField<typeof documents.BaseFolder>;
|
341
|
+
|
342
|
+
/**
|
343
|
+
* The numeric sort value which orders this Actor relative to its siblings
|
344
|
+
* @defaultValue `0`
|
345
|
+
*/
|
346
|
+
sort: fields.IntegerSortField;
|
347
|
+
|
348
|
+
/**
|
349
|
+
* An object which configures ownership of this Actor
|
350
|
+
* @defaultValue `{ default: DOCUMENT_OWNERSHIP_LEVELS.NONE }`
|
351
|
+
*/
|
352
|
+
ownership: fields.DocumentOwnershipField;
|
353
|
+
|
354
|
+
/**
|
355
|
+
* An object of optional key/value flags
|
356
|
+
* @defaultValue `{}`
|
357
|
+
*/
|
358
|
+
flags: fields.ObjectField.FlagsField<"Actor">;
|
359
|
+
|
360
|
+
/**
|
361
|
+
* An object of creation and access information
|
362
|
+
* @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
|
363
|
+
*/
|
364
|
+
_stats: fields.DocumentStatsField;
|
365
|
+
}
|
366
|
+
|
367
|
+
namespace Database {
|
368
|
+
/** Options passed along in Get operations for Actors */
|
369
|
+
interface Get extends foundry.abstract.types.DatabaseGetOperation<Actor.Parent> {}
|
370
|
+
|
371
|
+
/** Options passed along in Create operations for Actors */
|
372
|
+
interface Create<Temporary extends boolean | undefined = boolean | undefined>
|
373
|
+
extends foundry.abstract.types.DatabaseCreateOperation<Actor.CreateData, Actor.Parent, Temporary> {}
|
374
|
+
|
375
|
+
/** Options passed along in Delete operations for Actors */
|
376
|
+
interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<Actor.Parent> {}
|
377
|
+
|
378
|
+
/** Options passed along in Update operations for Actors */
|
379
|
+
interface Update extends foundry.abstract.types.DatabaseUpdateOperation<Actor.UpdateData, Actor.Parent> {}
|
380
|
+
|
381
|
+
/** Operation for {@link Actor.createDocuments | `Actor.createDocuments`} */
|
382
|
+
interface CreateDocumentsOperation<Temporary extends boolean | undefined>
|
383
|
+
extends Document.Database.CreateOperation<Actor.Database.Create<Temporary>> {}
|
384
|
+
|
385
|
+
/** Operation for {@link Actor.updateDocuments | `Actor.updateDocuments`} */
|
386
|
+
interface UpdateDocumentsOperation extends Document.Database.UpdateDocumentsOperation<Actor.Database.Update> {}
|
387
|
+
|
388
|
+
/** Operation for {@link Actor.deleteDocuments | `Actor.deleteDocuments`} */
|
389
|
+
interface DeleteDocumentsOperation extends Document.Database.DeleteDocumentsOperation<Actor.Database.Delete> {}
|
390
|
+
|
391
|
+
/** Operation for {@link Actor.create | `Actor.create`} */
|
392
|
+
interface CreateOperation<Temporary extends boolean | undefined>
|
393
|
+
extends Document.Database.CreateOperation<Actor.Database.Create<Temporary>> {}
|
394
|
+
|
395
|
+
/** Operation for {@link Actor.update | `Actor#update`} */
|
396
|
+
interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
|
397
|
+
|
398
|
+
interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
|
399
|
+
|
400
|
+
/** Options for {@link Actor.get | `Actor.get`} */
|
401
|
+
interface GetOptions extends Document.Database.GetOptions {}
|
402
|
+
|
403
|
+
/** Options for {@link Actor._preCreate | `Actor#_preCreate`} */
|
404
|
+
interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
|
405
|
+
|
406
|
+
/** Options for {@link Actor._onCreate | `Actor#_onCreate`} */
|
407
|
+
interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
|
408
|
+
|
409
|
+
/** Operation for {@link Actor._preCreateOperation | `Actor._preCreateOperation`} */
|
410
|
+
interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<Actor.Database.Create> {}
|
411
|
+
|
412
|
+
/** Operation for {@link Actor._onCreateOperation | `Actor#_onCreateOperation`} */
|
413
|
+
interface OnCreateOperation extends Actor.Database.Create {}
|
414
|
+
|
415
|
+
/** Options for {@link Actor._preUpdate | `Actor#_preUpdate`} */
|
416
|
+
interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
|
417
|
+
|
418
|
+
/** Options for {@link Actor._onUpdate | `Actor#_onUpdate`} */
|
419
|
+
interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
|
420
|
+
|
421
|
+
/** Operation for {@link Actor._preUpdateOperation | `Actor._preUpdateOperation`} */
|
422
|
+
interface PreUpdateOperation extends Actor.Database.Update {}
|
423
|
+
|
424
|
+
/** Operation for {@link Actor._onUpdateOperation | `Actor._preUpdateOperation`} */
|
425
|
+
interface OnUpdateOperation extends Actor.Database.Update {}
|
426
|
+
|
427
|
+
/** Options for {@link Actor._preDelete | `Actor#_preDelete`} */
|
428
|
+
interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
|
429
|
+
|
430
|
+
/** Options for {@link Actor._onDelete | `Actor#_onDelete`} */
|
431
|
+
interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
|
432
|
+
|
433
|
+
/** Options for {@link Actor._preDeleteOperation | `Actor#_preDeleteOperation`} */
|
434
|
+
interface PreDeleteOperation extends Actor.Database.Delete {}
|
435
|
+
|
436
|
+
/** Options for {@link Actor._onDeleteOperation | `Actor#_onDeleteOperation`} */
|
437
|
+
interface OnDeleteOperation extends Actor.Database.Delete {}
|
438
|
+
|
439
|
+
/** Context for {@link Actor._onDeleteOperation | `Actor._onDeleteOperation`} */
|
440
|
+
interface OnDeleteDocumentsContext extends Document.ModificationContext<Actor.Parent> {}
|
441
|
+
|
442
|
+
/** Context for {@link Actor._onCreateDocuments | `Actor._onCreateDocuments`} */
|
443
|
+
interface OnCreateDocumentsContext extends Document.ModificationContext<Actor.Parent> {}
|
444
|
+
|
445
|
+
/** Context for {@link Actor._onUpdateDocuments | `Actor._onUpdateDocuments`} */
|
446
|
+
interface OnUpdateDocumentsContext extends Document.ModificationContext<Actor.Parent> {}
|
447
|
+
|
448
|
+
/**
|
449
|
+
* Options for {@link Actor._preCreateDescendantDocuments | `Actor#_preCreateDescendantDocuments`}
|
450
|
+
* and {@link Actor._onCreateDescendantDocuments | `Actor#_onCreateDescendantDocuments`}
|
451
|
+
*/
|
452
|
+
interface CreateOptions extends Document.Database.CreateOptions<Actor.Database.Create> {}
|
453
|
+
|
454
|
+
/**
|
455
|
+
* Options for {@link Actor._preUpdateDescendantDocuments | `Actor#_preUpdateDescendantDocuments`}
|
456
|
+
* and {@link Actor._onUpdateDescendantDocuments | `Actor#_onUpdateDescendantDocuments`}
|
457
|
+
*/
|
458
|
+
interface UpdateOptions extends Document.Database.UpdateOptions<Actor.Database.Update> {}
|
459
|
+
|
460
|
+
/**
|
461
|
+
* Options for {@link Actor._preDeleteDescendantDocuments | `Actor#_preDeleteDescendantDocuments`}
|
462
|
+
* and {@link Actor._onDeleteDescendantDocuments | `Actor#_onDeleteDescendantDocuments`}
|
463
|
+
*/
|
464
|
+
interface DeleteOptions extends Document.Database.DeleteOptions<Actor.Database.Delete> {}
|
465
|
+
}
|
466
|
+
|
467
|
+
/**
|
468
|
+
* The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
|
469
|
+
*/
|
470
|
+
interface Flags extends Document.ConfiguredFlagsForName<Name> {}
|
471
|
+
|
472
|
+
namespace Flags {
|
473
|
+
/**
|
474
|
+
* The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
|
475
|
+
*/
|
476
|
+
type Scope = Document.FlagKeyOf<Flags>;
|
477
|
+
|
478
|
+
/**
|
479
|
+
* The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
|
480
|
+
*/
|
481
|
+
type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
|
482
|
+
|
483
|
+
/**
|
484
|
+
* Gets the type of a particular flag given a `Scope` and a `Key`.
|
485
|
+
*/
|
486
|
+
type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
|
487
|
+
}
|
488
|
+
|
489
|
+
type PreCreateDescendantDocumentsArgs =
|
490
|
+
| Document.PreCreateDescendantDocumentsArgs<Actor.Stored, Actor.DirectDescendant, Actor.Metadata.Embedded>
|
491
|
+
| Item.PreCreateDescendantDocumentsArgs;
|
492
|
+
|
493
|
+
type OnCreateDescendantDocumentsArgs =
|
494
|
+
| Document.OnCreateDescendantDocumentsArgs<Actor.Stored, Actor.DirectDescendant, Actor.Metadata.Embedded>
|
495
|
+
| Item.OnCreateDescendantDocumentsArgs;
|
496
|
+
|
497
|
+
type PreUpdateDescendantDocumentsArgs =
|
498
|
+
| Document.PreUpdateDescendantDocumentsArgs<Actor.Stored, Actor.DirectDescendant, Actor.Metadata.Embedded>
|
499
|
+
| Item.PreUpdateDescendantDocumentsArgs;
|
500
|
+
|
501
|
+
type OnUpdateDescendantDocumentsArgs =
|
502
|
+
| Document.OnUpdateDescendantDocumentsArgs<Actor.Stored, Actor.DirectDescendant, Actor.Metadata.Embedded>
|
503
|
+
| Item.OnUpdateDescendantDocumentsArgs;
|
504
|
+
|
505
|
+
type PreDeleteDescendantDocumentsArgs =
|
506
|
+
| Document.PreDeleteDescendantDocumentsArgs<Actor.Stored, Actor.DirectDescendant, Actor.Metadata.Embedded>
|
507
|
+
| Item.PreDeleteDescendantDocumentsArgs;
|
508
|
+
|
509
|
+
type OnDeleteDescendantDocumentsArgs =
|
510
|
+
| Document.OnDeleteDescendantDocumentsArgs<Actor.Stored, Actor.DirectDescendant, Actor.Metadata.Embedded>
|
511
|
+
| Item.OnDeleteDescendantDocumentsArgs;
|
512
|
+
|
513
|
+
/**
|
514
|
+
* @deprecated {@link Actor.Database | `Actor.DatabaseOperation`}
|
515
|
+
*/
|
516
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
517
|
+
interface DatabaseOperations extends Document.Database.Operations<Actor.Implementation> {}
|
518
|
+
|
519
|
+
/**
|
520
|
+
* @deprecated {@link Actor.SubType | `Actor.SubType`}
|
521
|
+
*/
|
522
|
+
type TypeNames = Actor.SubType;
|
523
|
+
|
524
|
+
/**
|
525
|
+
* @deprecated {@link Actor.CreateData | `Actor.CreateData`}
|
526
|
+
*/
|
527
|
+
interface ConstructorData extends Actor.CreateData {}
|
528
|
+
|
529
|
+
/**
|
530
|
+
* @deprecated {@link Actor.implementation | `Actor.ImplementationClass`}
|
531
|
+
*/
|
532
|
+
type ConfiguredClass = ImplementationClass;
|
533
|
+
|
534
|
+
/**
|
535
|
+
* @deprecated {@link Actor.Implementation | `Actor.Implementation`}
|
536
|
+
*/
|
537
|
+
type ConfiguredInstance = Implementation;
|
538
|
+
|
539
|
+
type ItemTypes = {
|
540
|
+
[SubType in Game.Model.TypeNames<"Item">]: Array<Item.OfType<SubType>>;
|
541
|
+
};
|
34
542
|
|
35
543
|
interface RollInitiativeOptions {
|
36
544
|
/**
|
@@ -51,16 +559,34 @@ declare global {
|
|
51
559
|
*/
|
52
560
|
initiativeOptions?: Combat.InitiativeOptions;
|
53
561
|
}
|
562
|
+
|
563
|
+
/** @internal */
|
564
|
+
type _ToggleStatusEffectOptions = NullishProps<{
|
565
|
+
/**
|
566
|
+
* Force a certain active state for the effect
|
567
|
+
* @defaultValue `undefined`
|
568
|
+
* @remarks `null` is treated as `false`, `undefined` or omitted is treated as `true` *if no status
|
569
|
+
* with the given ID already exists*, otherwise also as `false`
|
570
|
+
*/
|
571
|
+
active: boolean;
|
572
|
+
|
573
|
+
/**
|
574
|
+
* Whether to set the effect as the overlay effect?
|
575
|
+
* @defaultValue `false`
|
576
|
+
*/
|
577
|
+
overlay: boolean;
|
578
|
+
}>;
|
579
|
+
interface ToggleStatusEffectOptions extends _ToggleStatusEffectOptions {}
|
54
580
|
}
|
55
581
|
|
56
582
|
/**
|
57
583
|
* The client-side Actor document which extends the common BaseActor model.
|
58
584
|
*
|
59
585
|
* ### Hook Events
|
60
|
-
* {@link hookEvents.applyCompendiumArt}
|
586
|
+
* {@link hookEvents.applyCompendiumArt | `hookEvents.applyCompendiumArt`}
|
61
587
|
*
|
62
|
-
* @see {@link Actors} The world-level collection of Actor documents
|
63
|
-
* @see {@link ActorSheet} The Actor configuration application
|
588
|
+
* @see {@link Actors | `Actors`} The world-level collection of Actor documents
|
589
|
+
* @see {@link ActorSheet | `ActorSheet`} The Actor configuration application
|
64
590
|
*
|
65
591
|
* @example <caption>Create a new Actor</caption>
|
66
592
|
* ```typescript
|
@@ -76,23 +602,26 @@ declare global {
|
|
76
602
|
* let actor = game.actors.get(actorId);
|
77
603
|
* ```
|
78
604
|
*/
|
79
|
-
class Actor extends
|
80
|
-
|
605
|
+
class Actor<out SubType extends Actor.SubType = Actor.SubType> extends ClientDocumentMixin(
|
606
|
+
foundry.documents.BaseActor,
|
607
|
+
)<SubType> {
|
608
|
+
/**
|
609
|
+
* @param data - Initial data from which to construct the `Actor`
|
610
|
+
* @param context - Construction context options
|
611
|
+
*/
|
612
|
+
constructor(...args: Actor.ConstructorArgs);
|
81
613
|
|
82
|
-
static
|
614
|
+
static override metadata: Actor.Metadata;
|
83
615
|
|
84
616
|
protected override _configure(options?: { pack?: string | null }): void;
|
85
617
|
|
86
618
|
/**
|
87
619
|
* Maintain a list of Token Documents that represent this Actor, stored by Scene.
|
88
620
|
*/
|
89
|
-
protected _dependentTokens: foundry.utils.IterableWeakMap<
|
90
|
-
Scene.ConfiguredInstance,
|
91
|
-
TokenDocument.ConfiguredInstance
|
92
|
-
>;
|
621
|
+
protected _dependentTokens: foundry.utils.IterableWeakMap<Scene.Implementation, TokenDocument.Implementation>;
|
93
622
|
|
94
623
|
protected override _initializeSource(
|
95
|
-
data: this | Actor.
|
624
|
+
data: this | Actor.CreateData,
|
96
625
|
options?: Omit<foundry.abstract.DataModel.DataValidationOptions, "parent">,
|
97
626
|
): Actor.Source;
|
98
627
|
|
@@ -129,6 +658,7 @@ declare global {
|
|
129
658
|
* Provide an object which organizes all embedded Item instances by their type
|
130
659
|
*/
|
131
660
|
get itemTypes(): Actor.ItemTypes;
|
661
|
+
|
132
662
|
/**
|
133
663
|
* Test whether an Actor document is a synthetic representation of a Token (if true) or a full Document (if false)
|
134
664
|
*/
|
@@ -137,17 +667,17 @@ declare global {
|
|
137
667
|
/**
|
138
668
|
* Retrieve the list of ActiveEffects that are currently applied to this Actor.
|
139
669
|
*/
|
140
|
-
get appliedEffects(): ActiveEffect.
|
670
|
+
get appliedEffects(): ActiveEffect.Implementation[];
|
141
671
|
|
142
672
|
/**
|
143
673
|
* An array of ActiveEffect instances which are present on the Actor which have a limited duration.
|
144
674
|
*/
|
145
|
-
get temporaryEffects():
|
675
|
+
get temporaryEffects(): EmbeddedCollection<ActiveEffect.Implementation, Actor.Implementation>;
|
146
676
|
|
147
677
|
/**
|
148
678
|
* Return a reference to the TokenDocument which owns this Actor as a synthetic override
|
149
679
|
*/
|
150
|
-
get token(): TokenDocument.
|
680
|
+
get token(): TokenDocument.Implementation | null;
|
151
681
|
|
152
682
|
/**
|
153
683
|
* Whether the Actor has at least one Combatant in the active Combat that represents it.
|
@@ -169,10 +699,10 @@ declare global {
|
|
169
699
|
* @param document - Return the Document instance rather than the PlaceableObject (default: `false`)
|
170
700
|
* @returns An array of Token instances in the current Scene which reference this Actor.
|
171
701
|
*/
|
172
|
-
getActiveTokens<ReturnDocument extends boolean =
|
702
|
+
getActiveTokens<ReturnDocument extends boolean | undefined = undefined>(
|
173
703
|
linked?: boolean,
|
174
704
|
document?: ReturnDocument,
|
175
|
-
): ReturnDocument extends true ? TokenDocument.
|
705
|
+
): ReturnDocument extends true ? TokenDocument.Implementation[] : Token.Implementation[];
|
176
706
|
|
177
707
|
/**
|
178
708
|
* Get all ActiveEffects that may apply to this Actor.
|
@@ -180,20 +710,20 @@ declare global {
|
|
180
710
|
* If CONFIG.ActiveEffect.legacyTransferral is false, this will also return all the transferred ActiveEffects on any
|
181
711
|
* of the Actor's owned Items.
|
182
712
|
*/
|
183
|
-
allApplicableEffects(): Generator<ActiveEffect.
|
713
|
+
allApplicableEffects(): Generator<ActiveEffect.Implementation>;
|
184
714
|
|
185
715
|
/**
|
186
716
|
* Prepare a data object which defines the data schema used by dice roll commands against this Actor
|
187
717
|
* @remarks defaults to this.system, but provided as object for flexible overrides
|
188
718
|
*/
|
189
|
-
getRollData():
|
719
|
+
getRollData(): AnyObject;
|
190
720
|
|
191
721
|
/**
|
192
722
|
* Create a new TokenData object which can be used to create a Token representation of the Actor.
|
193
723
|
* @param data - Additional data, such as x, y, rotation, etc. for the created token data (default: `{}`)
|
194
724
|
* @returns The created TokenData instance
|
195
725
|
*/
|
196
|
-
getTokenDocument(data?:
|
726
|
+
getTokenDocument(data?: TokenDocument.CreateData): Promise<TokenDocument.Implementation>;
|
197
727
|
|
198
728
|
/**
|
199
729
|
* Get an Array of Token images which could represent this Actor
|
@@ -235,15 +765,11 @@ declare global {
|
|
235
765
|
* - false if an existing effect needed to be removed
|
236
766
|
* - undefined if no changes need to be made
|
237
767
|
*/
|
768
|
+
// options: not null (destructured)
|
238
769
|
toggleStatusEffect(
|
239
770
|
statusId: string,
|
240
|
-
options?:
|
241
|
-
|
242
|
-
active: boolean;
|
243
|
-
/** Display the toggled effect as an overlay. Default `false`. */
|
244
|
-
overlay: boolean;
|
245
|
-
}>,
|
246
|
-
): Promise<ActiveEffect.ConfiguredInstance | boolean | undefined>;
|
771
|
+
options?: Actor.ToggleStatusEffectOptions,
|
772
|
+
): Promise<ActiveEffect.Implementation | boolean | undefined>;
|
247
773
|
|
248
774
|
/**
|
249
775
|
* Request wildcard token images from the server and return them.
|
@@ -267,38 +793,91 @@ declare global {
|
|
267
793
|
/**
|
268
794
|
* A single Scene, or list of Scenes to filter by.
|
269
795
|
*/
|
270
|
-
scenes: Scene | Scene[];
|
796
|
+
scenes: Scene.Implementation | Scene.Implementation[];
|
271
797
|
/**
|
272
798
|
* Limit the results to tokens that are linked to the actor.
|
273
799
|
* @defaultValue `false`
|
274
800
|
*/
|
275
801
|
linked: boolean;
|
276
802
|
}>,
|
277
|
-
): TokenDocument.
|
803
|
+
): TokenDocument.Implementation[];
|
278
804
|
|
279
805
|
/**
|
280
806
|
* Register a token as a dependent of this actor.
|
281
807
|
* @param token - The Token
|
282
808
|
*/
|
283
|
-
protected _registerDependantToken(token: TokenDocument): void;
|
809
|
+
protected _registerDependantToken(token: TokenDocument.Implementation): void;
|
284
810
|
|
285
811
|
/**
|
286
812
|
* Remove a token from this actor's dependents.
|
287
813
|
* @param token - The Token
|
288
814
|
*/
|
289
|
-
protected _unregisterDependentToken(token: TokenDocument): void;
|
815
|
+
protected _unregisterDependentToken(token: TokenDocument.Implementation): void;
|
290
816
|
|
291
817
|
/**
|
292
818
|
* Prune a whole scene from this actor's dependent tokens.
|
293
819
|
* @param scene - The scene
|
294
820
|
*/
|
295
|
-
protected _unregisterDependentScene(scene: Scene): void;
|
821
|
+
protected _unregisterDependentScene(scene: Scene.Implementation): void;
|
296
822
|
|
297
823
|
/**
|
298
|
-
* @privateRemarks _preCreate
|
299
|
-
* For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
|
824
|
+
* @privateRemarks _preCreate and _onUpdate are all overridden but with no signature changes from BaseActor.
|
300
825
|
*/
|
301
826
|
|
827
|
+
/**
|
828
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
829
|
+
* this method must be overriden like so:
|
830
|
+
* ```typescript
|
831
|
+
* class GurpsActor extends Actor {
|
832
|
+
* protected override _onCreateDescendantDocuments(...args: Actor.OnCreateDescendantDocumentsArgs) {
|
833
|
+
* super._onCreateDescendantDocuments(...args);
|
834
|
+
*
|
835
|
+
* const [parent, collection, documents, data, options, userId] = args;
|
836
|
+
* if (collection === "effects") {
|
837
|
+
* options; // Will be narrowed.
|
838
|
+
* }
|
839
|
+
* }
|
840
|
+
* }
|
841
|
+
* ```
|
842
|
+
*/
|
843
|
+
protected override _onCreateDescendantDocuments(...args: Actor.OnCreateDescendantDocumentsArgs): void;
|
844
|
+
|
845
|
+
/**
|
846
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
847
|
+
* this method must be overriden like so:
|
848
|
+
* ```typescript
|
849
|
+
* class Ptr2eActor extends Actor {
|
850
|
+
* protected override _onUpdateDescendantDocuments(...args: Actor.OnUpdateDescendantDocumentsArgs) {
|
851
|
+
* super._onUpdateDescendantDocuments(...args);
|
852
|
+
*
|
853
|
+
* const [parent, collection, documents, changes, options, userId] = args;
|
854
|
+
* if (collection === "effects") {
|
855
|
+
* options; // Will be narrowed.
|
856
|
+
* }
|
857
|
+
* }
|
858
|
+
* }
|
859
|
+
* ```
|
860
|
+
*/
|
861
|
+
protected override _onUpdateDescendantDocuments(...args: Actor.OnUpdateDescendantDocumentsArgs): void;
|
862
|
+
|
863
|
+
/**
|
864
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
865
|
+
* this method must be overriden like so:
|
866
|
+
* ```typescript
|
867
|
+
* class BladesActor extends Actor {
|
868
|
+
* protected override _onDeleteDescendantDocuments(...args: Actor.OnUpdateDescendantDocuments) {
|
869
|
+
* super._onDeleteDescendantDocuments(...args);
|
870
|
+
*
|
871
|
+
* const [parent, collection, documents, ids, options, userId] = args;
|
872
|
+
* if (collection === "effects") {
|
873
|
+
* options; // Will be narrowed.
|
874
|
+
* }
|
875
|
+
* }
|
876
|
+
* }
|
877
|
+
* ```
|
878
|
+
*/
|
879
|
+
protected override _onDeleteDescendantDocuments(...args: Actor.OnDeleteDescendantDocumentsArgs): void;
|
880
|
+
|
302
881
|
/**
|
303
882
|
* Additional workflows to perform when any descendant document within this Actor changes.
|
304
883
|
* @internal
|
@@ -311,8 +890,91 @@ declare global {
|
|
311
890
|
* @param options - The update context.
|
312
891
|
*/
|
313
892
|
protected _updateDependentTokens(
|
314
|
-
update:
|
315
|
-
options:
|
893
|
+
update: TokenDocument.UpdateData,
|
894
|
+
options: TokenDocument.Database.UpdateOperation,
|
316
895
|
): void;
|
896
|
+
|
897
|
+
/*
|
898
|
+
* After this point these are not really overridden methods.
|
899
|
+
* They are here because Foundry's documents are complex and have lots of edge cases.
|
900
|
+
* There are DRY ways of representing this but this ends up being harder to understand
|
901
|
+
* for end users extending these functions, especially for static methods. There are also a
|
902
|
+
* number of methods that don't make sense to call directly on `Document` like `createDocuments`,
|
903
|
+
* as there is no data that can safely construct every possible document. Finally keeping definitions
|
904
|
+
* separate like this helps against circularities.
|
905
|
+
*/
|
906
|
+
|
907
|
+
// ClientDocument overrides
|
908
|
+
|
909
|
+
/**
|
910
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
911
|
+
* this method must be overriden like so:
|
912
|
+
* ```typescript
|
913
|
+
* class SwadeActor extends Actor {
|
914
|
+
* protected override _preCreateDescendantDocuments(...args: Actor.PreCreateDescendantDocumentsArgs) {
|
915
|
+
* super._preCreateDescendantDocuments(...args);
|
916
|
+
*
|
917
|
+
* const [parent, collection, data, options, userId] = args;
|
918
|
+
* if (collection === "effects") {
|
919
|
+
* options; // Will be narrowed.
|
920
|
+
* }
|
921
|
+
* }
|
922
|
+
* }
|
923
|
+
* ```
|
924
|
+
*/
|
925
|
+
protected override _preCreateDescendantDocuments(...args: Actor.PreCreateDescendantDocumentsArgs): void;
|
926
|
+
|
927
|
+
/**
|
928
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
929
|
+
* this method must be overriden like so:
|
930
|
+
* ```typescript
|
931
|
+
* class LancerActor extends Actor {
|
932
|
+
* protected override _preUpdateDescendantDocuments(...args: Actor.OnUpdateDescendantDocuments) {
|
933
|
+
* super._preUpdateDescendantDocuments(...args);
|
934
|
+
*
|
935
|
+
* const [parent, collection, changes, options, userId] = args;
|
936
|
+
* if (collection === "effects") {
|
937
|
+
* options; // Will be narrowed.
|
938
|
+
* }
|
939
|
+
* }
|
940
|
+
* }
|
941
|
+
* ```
|
942
|
+
*/
|
943
|
+
protected override _preUpdateDescendantDocuments(...args: Actor.PreUpdateDescendantDocumentsArgs): void;
|
944
|
+
|
945
|
+
/**
|
946
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
947
|
+
* this method must be overriden like so:
|
948
|
+
* ```typescript
|
949
|
+
* class KultActor extends Actor {
|
950
|
+
* protected override _preDeleteDescendantDocuments(...args: Actor.PreDeleteDescendantDocumentsArgs) {
|
951
|
+
* super._preDeleteDescendantDocuments(...args);
|
952
|
+
*
|
953
|
+
* const [parent, collection, ids, options, userId] = args;
|
954
|
+
* if (collection === "effects") {
|
955
|
+
* options; // Will be narrowed.
|
956
|
+
* }
|
957
|
+
* }
|
958
|
+
* }
|
959
|
+
* ```
|
960
|
+
*/
|
961
|
+
protected override _preDeleteDescendantDocuments(...args: Actor.PreDeleteDescendantDocumentsArgs): void;
|
962
|
+
|
963
|
+
static override defaultName(context?: Document.DefaultNameContext<Actor.SubType, Actor.Parent>): string;
|
964
|
+
|
965
|
+
static override createDialog(
|
966
|
+
data?: Document.CreateDialogData<Actor.CreateData>,
|
967
|
+
context?: Document.CreateDialogContext<Actor.SubType, Actor.Parent>,
|
968
|
+
): Promise<Actor.Stored | null | undefined>;
|
969
|
+
|
970
|
+
static override fromDropData(
|
971
|
+
data: Document.DropData<Actor.Implementation>,
|
972
|
+
options?: Document.FromDropDataOptions,
|
973
|
+
): Promise<Actor.Implementation | undefined>;
|
974
|
+
|
975
|
+
static override fromImport(
|
976
|
+
source: Actor.Source,
|
977
|
+
context?: Document.FromImportContext<Actor.Parent>,
|
978
|
+
): Promise<Actor.Implementation>;
|
317
979
|
}
|
318
980
|
}
|