@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,30 +1,557 @@
|
|
1
|
-
import type {
|
2
|
-
import type
|
3
|
-
import type
|
1
|
+
import type { ConfiguredCombat } from "fvtt-types/configuration";
|
2
|
+
import type { Merge } from "fvtt-types/utils";
|
3
|
+
import type { documents } from "#client-esm/client.d.mts";
|
4
|
+
import type Document from "#common/abstract/document.d.mts";
|
5
|
+
import type { DataSchema } from "#common/data/fields.d.mts";
|
6
|
+
import type BaseCombat from "#common/documents/combat.d.mts";
|
7
|
+
|
8
|
+
import fields = foundry.data.fields;
|
4
9
|
|
5
10
|
declare global {
|
6
11
|
namespace Combat {
|
7
|
-
|
12
|
+
/**
|
13
|
+
* The document's name.
|
14
|
+
*/
|
15
|
+
type Name = "Combat";
|
16
|
+
|
17
|
+
/**
|
18
|
+
* The arguments to construct the document.
|
19
|
+
*/
|
20
|
+
type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
|
21
|
+
|
22
|
+
/**
|
23
|
+
* The documents embedded within `Combat`.
|
24
|
+
*/
|
25
|
+
type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
|
26
|
+
|
27
|
+
/**
|
28
|
+
* The implementation of the `Combat` document instance configured through `CONFIG.Combat.documentClass` in Foundry and
|
29
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredCombat | `fvtt-types/configuration/ConfiguredCombat`} in fvtt-types.
|
30
|
+
*/
|
31
|
+
type Implementation = Document.ImplementationFor<Name>;
|
32
|
+
|
33
|
+
/**
|
34
|
+
* The implementation of the `Combat` document configured through `CONFIG.Combat.documentClass` in Foundry and
|
35
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
|
36
|
+
*/
|
37
|
+
type ImplementationClass = Document.ImplementationClassFor<Name>;
|
38
|
+
|
39
|
+
/**
|
40
|
+
* A document's metadata is special information about the document ranging anywhere from its name,
|
41
|
+
* whether it's indexed, or to the permissions a user has over it.
|
42
|
+
*/
|
43
|
+
interface Metadata
|
44
|
+
extends Merge<
|
45
|
+
Document.Metadata.Default,
|
46
|
+
Readonly<{
|
47
|
+
name: "Combat";
|
48
|
+
collection: "combats";
|
49
|
+
label: string;
|
50
|
+
labelPlural: string;
|
51
|
+
embedded: Metadata.Embedded;
|
52
|
+
hasTypeData: true;
|
53
|
+
permissions: Metadata.Permissions;
|
54
|
+
schemaVersion: string;
|
55
|
+
}>
|
56
|
+
> {}
|
57
|
+
|
58
|
+
namespace Metadata {
|
59
|
+
/**
|
60
|
+
* The embedded metadata
|
61
|
+
*/
|
62
|
+
interface Embedded {
|
63
|
+
Combatant: "combatants";
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* The permissions for whether a certain user can create, update, or delete this document.
|
68
|
+
*/
|
69
|
+
interface Permissions {
|
70
|
+
update(user: User.Internal.Implementation, doc: Implementation, data: UpdateData): boolean;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Allowed subtypes of `Combat`. This is configured through various methods. Modern Foundry
|
76
|
+
* recommends registering using [Data Models](https://foundryvtt.com/article/system-data-models/)
|
77
|
+
* under {@link CONFIG.Combat.dataModels | `CONFIG.Combat.dataModels`}. This corresponds to
|
78
|
+
* fvtt-type's {@link DataModelConfig | `DataModelConfig`}.
|
79
|
+
*
|
80
|
+
* Subtypes can also be registered through a `template.json` though this is discouraged.
|
81
|
+
* The corresponding fvtt-type configs are {@link SourceConfig | `SourceConfig`} and
|
82
|
+
* {@link DataConfig | `DataConfig`}.
|
83
|
+
*/
|
84
|
+
type SubType = Game.Model.TypeNames<"Combat">;
|
85
|
+
|
86
|
+
/**
|
87
|
+
* `ConfiguredSubTypes` represents the subtypes a user explicitly registered. This excludes
|
88
|
+
* subtypes like the Foundry builtin subtype `"base"` and the catch-all subtype for arbitrary
|
89
|
+
* module subtypes `${string}.${string}`.
|
90
|
+
*
|
91
|
+
* @see {@link SubType} for more information.
|
92
|
+
*/
|
93
|
+
type ConfiguredSubTypes = Document.ConfiguredSubTypesOf<"Combat">;
|
94
|
+
|
95
|
+
/**
|
96
|
+
* `Known` represents the types of `Combat` that a user explicitly registered.
|
97
|
+
*
|
98
|
+
* @see {@link ConfiguredSubTypes} for more information.
|
99
|
+
*/
|
100
|
+
type Known = Combat.OfType<Combat.ConfiguredSubTypes>;
|
101
|
+
|
102
|
+
/**
|
103
|
+
* `OfType` returns an instance of `Combat` with the corresponding type. This works with both the
|
104
|
+
* builtin `Combat` class or a custom subclass if that is set up in
|
105
|
+
* {@link ConfiguredCombat | `fvtt-types/configuration/ConfiguredCombat`}.
|
106
|
+
*/
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-restricted-types
|
108
|
+
type OfType<Type extends SubType> = Document.Internal.OfType<ConfiguredCombat<Type>, Combat<Type>>;
|
109
|
+
|
110
|
+
/**
|
111
|
+
* `SystemOfType` returns the system property for a specific `Combat` subtype.
|
112
|
+
*/
|
113
|
+
type SystemOfType<Type extends SubType> = Document.Internal.SystemOfType<_SystemMap, Type>;
|
114
|
+
|
115
|
+
/**
|
116
|
+
* @internal
|
117
|
+
*/
|
118
|
+
interface _SystemMap extends Document.Internal.SystemMap<"Combat"> {}
|
8
119
|
|
9
|
-
|
10
|
-
|
120
|
+
/**
|
121
|
+
* A document's parent is something that can contain it.
|
122
|
+
* For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
|
123
|
+
*/
|
124
|
+
type Parent = null;
|
125
|
+
|
126
|
+
/**
|
127
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
128
|
+
* This is a union of all instances, or never if the document doesn't have any descendants.
|
129
|
+
*/
|
130
|
+
type DescendantName = "Combatant";
|
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 = Combatant.Stored;
|
11
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 = Combatant.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 = never;
|
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
|
204
|
+
>;
|
205
|
+
|
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 `Combat`s. Will be `never` if none exists.
|
223
|
+
*/
|
224
|
+
type CollectionClass = CombatEncounters.ConfiguredClass;
|
225
|
+
|
226
|
+
/**
|
227
|
+
* The world collection that contains `Combat`s. Will be `never` if none exists.
|
228
|
+
*/
|
229
|
+
type Collection = CombatEncounters.Configured;
|
230
|
+
|
231
|
+
/**
|
232
|
+
* An instance of `Combat` 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 Combat.SubType = Combat.SubType> extends Document.Invalid<OfType<SubType>> {}
|
236
|
+
|
237
|
+
/**
|
238
|
+
* An instance of `Combat` that comes from the database.
|
239
|
+
*/
|
240
|
+
interface Stored<out SubType extends Combat.SubType = Combat.SubType> extends Document.Stored<OfType<SubType>> {}
|
241
|
+
|
242
|
+
/**
|
243
|
+
* The data put in {@link Combat._source | `Combat#_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 Combat.Source | `Combat.Source`}
|
253
|
+
*/
|
254
|
+
type PersistedData = Source;
|
255
|
+
|
256
|
+
/**
|
257
|
+
* The data necessary to create a document. Used in places like {@link Combat.create | `Combat.create`}
|
258
|
+
* and {@link Combat | `new Combat(...)`}.
|
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 Combat.name | `Combat#name`}.
|
269
|
+
*
|
270
|
+
* This is data transformed from {@link Combat.Source | `Combat.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 Combat.update | `Combat#update`}.
|
278
|
+
* It is a distinct type from {@link Combat.CreateData | `DeepPartial<Combat.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 Combat | `Combat`}. This is the source of truth for how an Combat document
|
285
|
+
* must be structured.
|
286
|
+
*
|
287
|
+
* Foundry uses this schema to validate the structure of the {@link Combat | `Combat`}. 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 Combat document
|
296
|
+
* @defaultValue `null`
|
297
|
+
*/
|
298
|
+
_id: fields.DocumentIdField;
|
299
|
+
|
300
|
+
type: fields.DocumentTypeField<typeof BaseCombat, { initial: typeof foundry.CONST.BASE_DOCUMENT_TYPE }>;
|
301
|
+
|
302
|
+
system: fields.TypeDataField<typeof BaseCombat>;
|
303
|
+
|
304
|
+
/**
|
305
|
+
* The _id of a Scene within which this Combat occurs
|
306
|
+
* @defaultValue `null`
|
307
|
+
*/
|
308
|
+
scene: fields.ForeignDocumentField<typeof documents.BaseScene>;
|
309
|
+
|
310
|
+
/**
|
311
|
+
* A Collection of Combatant embedded Documents
|
312
|
+
* @defaultValue `[]`
|
313
|
+
*/
|
314
|
+
combatants: fields.EmbeddedCollectionField<typeof documents.BaseCombatant, Combat.Implementation>;
|
315
|
+
|
316
|
+
/**
|
317
|
+
* Is the Combat encounter currently active?
|
318
|
+
* @defaultValue `false`
|
319
|
+
*/
|
320
|
+
active: fields.BooleanField;
|
321
|
+
|
322
|
+
/**
|
323
|
+
* The current round of the Combat encounter
|
324
|
+
* @defaultValue `0`
|
325
|
+
*/
|
326
|
+
round: fields.NumberField<{
|
327
|
+
required: true;
|
328
|
+
nullable: false;
|
329
|
+
integer: true;
|
330
|
+
min: 0;
|
331
|
+
initial: 0;
|
332
|
+
label: "COMBAT.Round";
|
333
|
+
}>;
|
334
|
+
|
335
|
+
/**
|
336
|
+
* The current turn in the Combat round
|
337
|
+
* @defaultValue `null`
|
338
|
+
*/
|
339
|
+
turn: fields.NumberField<{ required: true; integer: true; min: 0; initial: null; label: "COMBAT.Turn" }>;
|
340
|
+
|
341
|
+
/**
|
342
|
+
* The current sort order of this Combat relative to others in the same Scene
|
343
|
+
* @defaultValue `0`
|
344
|
+
*/
|
345
|
+
sort: fields.IntegerSortField;
|
346
|
+
|
347
|
+
/**
|
348
|
+
* An object of optional key/value flags
|
349
|
+
* @defaultValue `{}`
|
350
|
+
*/
|
351
|
+
flags: fields.ObjectField.FlagsField<Name>;
|
352
|
+
|
353
|
+
/**
|
354
|
+
* An object of creation and access information
|
355
|
+
* @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
|
356
|
+
*/
|
357
|
+
_stats: fields.DocumentStatsField;
|
358
|
+
}
|
359
|
+
|
360
|
+
namespace Database {
|
361
|
+
/** Options passed along in Get operations for Combats */
|
362
|
+
interface Get extends foundry.abstract.types.DatabaseGetOperation<Combat.Parent> {}
|
363
|
+
|
364
|
+
/** Options passed along in Create operations for Combats */
|
365
|
+
interface Create<Temporary extends boolean | undefined = boolean | undefined>
|
366
|
+
extends foundry.abstract.types.DatabaseCreateOperation<Combat.CreateData, Combat.Parent, Temporary> {}
|
367
|
+
|
368
|
+
/** Options passed along in Delete operations for Combats */
|
369
|
+
interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<Combat.Parent> {}
|
370
|
+
|
371
|
+
/** Options passed along in Update operations for Combats */
|
372
|
+
interface Update extends foundry.abstract.types.DatabaseUpdateOperation<Combat.UpdateData, Combat.Parent> {
|
373
|
+
direction: -1 | 1;
|
374
|
+
worldTime: { delta: number };
|
375
|
+
turnEvents: boolean;
|
376
|
+
}
|
377
|
+
|
378
|
+
/** Operation for {@link Combat.createDocuments | `Combat.createDocuments`} */
|
379
|
+
interface CreateDocumentsOperation<Temporary extends boolean | undefined>
|
380
|
+
extends Document.Database.CreateOperation<Combat.Database.Create<Temporary>> {}
|
381
|
+
|
382
|
+
/** Operation for {@link Combat.updateDocuments | `Combat.updateDocuments`} */
|
383
|
+
interface UpdateDocumentsOperation extends Document.Database.UpdateDocumentsOperation<Combat.Database.Update> {}
|
384
|
+
|
385
|
+
/** Operation for {@link Combat.deleteDocuments | `Combat.deleteDocuments`} */
|
386
|
+
interface DeleteDocumentsOperation extends Document.Database.DeleteDocumentsOperation<Combat.Database.Delete> {}
|
387
|
+
|
388
|
+
/** Operation for {@link Combat.create | `Combat.create`} */
|
389
|
+
interface CreateOperation<Temporary extends boolean | undefined>
|
390
|
+
extends Document.Database.CreateOperation<Combat.Database.Create<Temporary>> {}
|
391
|
+
|
392
|
+
/** Operation for {@link Combat.update | `Combat#update`} */
|
393
|
+
interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
|
394
|
+
|
395
|
+
interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
|
396
|
+
|
397
|
+
/** Options for {@link Combat.get | `Combat.get`} */
|
398
|
+
interface GetOptions extends Document.Database.GetOptions {}
|
399
|
+
|
400
|
+
/** Options for {@link Combat._preCreate | `Combat#_preCreate`} */
|
401
|
+
interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
|
402
|
+
|
403
|
+
/** Options for {@link Combat._onCreate | `Combat#_onCreate`} */
|
404
|
+
interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
|
405
|
+
|
406
|
+
/** Operation for {@link Combat._preCreateOperation | `Combat._preCreateOperation`} */
|
407
|
+
interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<Combat.Database.Create> {}
|
408
|
+
|
409
|
+
/** Operation for {@link Combat._onCreateOperation | `Combat#_onCreateOperation`} */
|
410
|
+
interface OnCreateOperation extends Combat.Database.Create {}
|
411
|
+
|
412
|
+
/** Options for {@link Combat._preUpdate | `Combat#_preUpdate`} */
|
413
|
+
interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
|
414
|
+
|
415
|
+
/** Options for {@link Combat._onUpdate | `Combat#_onUpdate`} */
|
416
|
+
interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
|
417
|
+
|
418
|
+
/** Operation for {@link Combat._preUpdateOperation | `Combat._preUpdateOperation`} */
|
419
|
+
interface PreUpdateOperation extends Combat.Database.Update {}
|
420
|
+
|
421
|
+
/** Operation for {@link Combat._onUpdateOperation | `Combat._preUpdateOperation`} */
|
422
|
+
interface OnUpdateOperation extends Combat.Database.Update {}
|
423
|
+
|
424
|
+
/** Options for {@link Combat._preDelete | `Combat#_preDelete`} */
|
425
|
+
interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
|
426
|
+
|
427
|
+
/** Options for {@link Combat._onDelete | `Combat#_onDelete`} */
|
428
|
+
interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
|
429
|
+
|
430
|
+
/** Options for {@link Combat._preDeleteOperation | `Combat#_preDeleteOperation`} */
|
431
|
+
interface PreDeleteOperation extends Combat.Database.Delete {}
|
432
|
+
|
433
|
+
/** Options for {@link Combat._onDeleteOperation | `Combat#_onDeleteOperation`} */
|
434
|
+
interface OnDeleteOperation extends Combat.Database.Delete {}
|
435
|
+
|
436
|
+
/** Context for {@link Combat._onDeleteOperation | `Combat._onDeleteOperation`} */
|
437
|
+
interface OnDeleteDocumentsContext extends Document.ModificationContext<Combat.Parent> {}
|
438
|
+
|
439
|
+
/** Context for {@link Combat._onCreateDocuments | `Combat._onCreateDocuments`} */
|
440
|
+
interface OnCreateDocumentsContext extends Document.ModificationContext<Combat.Parent> {}
|
441
|
+
|
442
|
+
/** Context for {@link Combat._onUpdateDocuments | `Combat._onUpdateDocuments`} */
|
443
|
+
interface OnUpdateDocumentsContext extends Document.ModificationContext<Combat.Parent> {}
|
444
|
+
|
445
|
+
/**
|
446
|
+
* Options for {@link Combat._preCreateDescendantDocuments | `Combat#_preCreateDescendantDocuments`}
|
447
|
+
* and {@link Combat._onCreateDescendantDocuments | `Combat#_onCreateDescendantDocuments`}
|
448
|
+
*/
|
449
|
+
interface CreateOptions extends Document.Database.CreateOptions<Combat.Database.Create> {}
|
450
|
+
|
451
|
+
/**
|
452
|
+
* Options for {@link Combat._preUpdateDescendantDocuments | `Combat#_preUpdateDescendantDocuments`}
|
453
|
+
* and {@link Combat._onUpdateDescendantDocuments | `Combat#_onUpdateDescendantDocuments`}
|
454
|
+
*/
|
455
|
+
interface UpdateOptions extends Document.Database.UpdateOptions<Combat.Database.Update> {}
|
456
|
+
|
457
|
+
/**
|
458
|
+
* Options for {@link Combat._preDeleteDescendantDocuments | `Combat#_preDeleteDescendantDocuments`}
|
459
|
+
* and {@link Combat._onDeleteDescendantDocuments | `Combat#_onDeleteDescendantDocuments`}
|
460
|
+
*/
|
461
|
+
interface DeleteOptions extends Document.Database.DeleteOptions<Combat.Database.Delete> {}
|
462
|
+
}
|
463
|
+
|
464
|
+
/**
|
465
|
+
* The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
|
466
|
+
*/
|
467
|
+
interface Flags extends Document.ConfiguredFlagsForName<Name> {}
|
468
|
+
|
469
|
+
namespace Flags {
|
470
|
+
/**
|
471
|
+
* The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
|
472
|
+
*/
|
473
|
+
type Scope = Document.FlagKeyOf<Flags>;
|
474
|
+
|
475
|
+
/**
|
476
|
+
* The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
|
477
|
+
*/
|
478
|
+
type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
|
479
|
+
|
480
|
+
/**
|
481
|
+
* Gets the type of a particular flag given a `Scope` and a `Key`.
|
482
|
+
*/
|
483
|
+
type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
|
484
|
+
}
|
485
|
+
|
486
|
+
type PreCreateDescendantDocumentsArgs = Document.PreCreateDescendantDocumentsArgs<
|
487
|
+
Combat.Stored,
|
488
|
+
Combat.DirectDescendant,
|
489
|
+
Combat.Metadata.Embedded
|
490
|
+
>;
|
491
|
+
|
492
|
+
type OnCreateDescendantDocumentsArgs = Document.OnCreateDescendantDocumentsArgs<
|
493
|
+
Combat.Stored,
|
494
|
+
Combat.DirectDescendant,
|
495
|
+
Combat.Metadata.Embedded
|
496
|
+
>;
|
497
|
+
|
498
|
+
type PreUpdateDescendantDocumentsArgs = Document.PreUpdateDescendantDocumentsArgs<
|
499
|
+
Combat.Stored,
|
500
|
+
Combat.DirectDescendant,
|
501
|
+
Combat.Metadata.Embedded
|
502
|
+
>;
|
503
|
+
|
504
|
+
type OnUpdateDescendantDocumentsArgs = Document.OnUpdateDescendantDocumentsArgs<
|
505
|
+
Combat.Stored,
|
506
|
+
Combat.DirectDescendant,
|
507
|
+
Combat.Metadata.Embedded
|
508
|
+
>;
|
509
|
+
|
510
|
+
type PreDeleteDescendantDocumentsArgs = Document.PreDeleteDescendantDocumentsArgs<
|
511
|
+
Combat.Stored,
|
512
|
+
Combat.DirectDescendant,
|
513
|
+
Combat.Metadata.Embedded
|
514
|
+
>;
|
515
|
+
|
516
|
+
type OnDeleteDescendantDocumentsArgs = Document.OnDeleteDescendantDocumentsArgs<
|
517
|
+
Combat.Stored,
|
518
|
+
Combat.DirectDescendant,
|
519
|
+
Combat.Metadata.Embedded
|
520
|
+
>;
|
521
|
+
|
522
|
+
/**
|
523
|
+
* @deprecated {@link Combat.Database | `Combat.Database`}
|
524
|
+
*/
|
12
525
|
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
13
526
|
interface DatabaseOperations
|
527
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
14
528
|
extends Document.Database.Operations<
|
15
|
-
Combat,
|
529
|
+
Combat.Implementation,
|
16
530
|
{},
|
17
531
|
{ direction: -1 | 1; worldTime: { delta: number }; turnEvents: boolean },
|
18
532
|
{}
|
19
533
|
> {}
|
20
534
|
/* eslint-enable @typescript-eslint/no-empty-object-type */
|
21
535
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
type
|
26
|
-
|
27
|
-
|
536
|
+
/**
|
537
|
+
* @deprecated {@link Combat.SubType | `Combat.SubType`}
|
538
|
+
*/
|
539
|
+
type TypeNames = Combat.SubType;
|
540
|
+
|
541
|
+
/**
|
542
|
+
* @deprecated {@link Combat.CreateData | `Combat.CreateData`}
|
543
|
+
*/
|
544
|
+
interface ConstructorData extends Combat.CreateData {}
|
545
|
+
|
546
|
+
/**
|
547
|
+
* @deprecated {@link Combat.implementation | `Combat.ImplementationClass`}
|
548
|
+
*/
|
549
|
+
type ConfiguredClass = ImplementationClass;
|
550
|
+
|
551
|
+
/**
|
552
|
+
* @deprecated {@link Combat.Implementation | `Combat.Implementation`}
|
553
|
+
*/
|
554
|
+
type ConfiguredInstance = Implementation;
|
28
555
|
|
29
556
|
interface InitiativeOptions {
|
30
557
|
/**
|
@@ -43,7 +570,7 @@ declare global {
|
|
43
570
|
* Additional options with which to customize created Chat Messages
|
44
571
|
* @defaultValue `{}`
|
45
572
|
*/
|
46
|
-
messageOptions?: foundry.documents.BaseChatMessage.
|
573
|
+
messageOptions?: foundry.documents.BaseChatMessage.CreateData;
|
47
574
|
}
|
48
575
|
|
49
576
|
interface HistoryData {
|
@@ -59,26 +586,21 @@ declare global {
|
|
59
586
|
/**
|
60
587
|
* The client-side Combat document which extends the common BaseCombat model.
|
61
588
|
*
|
62
|
-
* @see {@link Combats} The world-level collection of Combat documents
|
63
|
-
* @see {@link Combatant} The Combatant embedded document which exists within a Combat document
|
64
|
-
* @see {@link CombatConfig} The Combat configuration application
|
589
|
+
* @see {@link Combats | `Combats`} The world-level collection of Combat documents
|
590
|
+
* @see {@link Combatant | `Combatant`} The Combatant embedded document which exists within a Combat document
|
591
|
+
* @see {@link CombatConfig | `CombatConfig`} The Combat configuration application
|
65
592
|
*/
|
66
|
-
class Combat extends
|
67
|
-
|
68
|
-
|
69
|
-
static get implementation(): Combat.ConfiguredClass;
|
70
|
-
|
593
|
+
class Combat<out SubType extends Combat.SubType = Combat.SubType> extends ClientDocumentMixin(
|
594
|
+
foundry.documents.BaseCombat,
|
595
|
+
)<SubType> {
|
71
596
|
/**
|
72
|
-
* @param data
|
597
|
+
* @param data - Initial data from which to construct the `Combat`
|
598
|
+
* @param context - Construction context options
|
73
599
|
*/
|
74
|
-
|
75
|
-
// constructor(
|
76
|
-
// data?: ConstructorParameters<typeof foundry.documents.BaseCombat>[0],
|
77
|
-
// context?: ConstructorParameters<typeof foundry.documents.BaseCombat>[1],
|
78
|
-
// );
|
600
|
+
constructor(...args: Combat.ConstructorArgs);
|
79
601
|
|
80
602
|
/** Track the sorted turn order of this combat encounter */
|
81
|
-
turns: Combatant.
|
603
|
+
turns: Combatant.Implementation[];
|
82
604
|
|
83
605
|
/** Record the current round, turn, and tokenId to understand changes in the encounter state */
|
84
606
|
current: Combat.HistoryData;
|
@@ -98,7 +620,7 @@ declare global {
|
|
98
620
|
/**
|
99
621
|
* Get the Combatant who has the next turn.
|
100
622
|
*/
|
101
|
-
get nextCombatant(): Combatant.
|
623
|
+
get nextCombatant(): Combatant.Implementation | undefined;
|
102
624
|
|
103
625
|
/** Return the object of settings which modify the Combat Tracker behavior */
|
104
626
|
// Type is copied here to avoid recursion issue
|
@@ -117,7 +639,7 @@ declare global {
|
|
117
639
|
* Deactivate all other Combat encounters within the viewed Scene and set this one as active
|
118
640
|
* @param options - Additional context to customize the update workflow
|
119
641
|
*/
|
120
|
-
activate(options?:
|
642
|
+
activate(options?: Combat.Database.UpdateOperation): Promise<Combat.Implementation[]>;
|
121
643
|
|
122
644
|
override prepareDerivedData(): void;
|
123
645
|
|
@@ -126,13 +648,13 @@ declare global {
|
|
126
648
|
* @param token - A Token ID or a TokenDocument instance
|
127
649
|
* @returns An array of Combatants which represent the Token.
|
128
650
|
*/
|
129
|
-
getCombatantsByToken(token: string | TokenDocument): Combatant.
|
651
|
+
getCombatantsByToken(token: string | TokenDocument.Implementation): Combatant.Implementation[];
|
130
652
|
|
131
653
|
/**
|
132
654
|
* Get a Combatant that represents the given Actor or Actor ID.
|
133
655
|
* @param actorOrId - An Actor ID or an Actor instance.
|
134
656
|
*/
|
135
|
-
getCombatantsByActor(actorOrId: string | Actor): Combatant.
|
657
|
+
getCombatantsByActor(actorOrId: string | Actor.Implementation): Combatant.Implementation[];
|
136
658
|
|
137
659
|
/** Begin the combat encounter, advancing to round 1 and turn 1 */
|
138
660
|
startCombat(): Promise<this>;
|
@@ -205,8 +727,7 @@ declare global {
|
|
205
727
|
|
206
728
|
/**
|
207
729
|
* Loads the registered Combat Theme (if any) and plays the requested type of sound.
|
208
|
-
|
209
|
-
* If multiple exist for that type, one is chosen at random.
|
730
|
+
* If multiple exist for that type, one is chosen at random.
|
210
731
|
* @param announcement - The announcement that should be played: "startEncounter", "nextUp", or "yourTurn".
|
211
732
|
*/
|
212
733
|
protected _playCombatSound(announcement: foundry.CONST.COMBAT_ANNOUNCEMENTS): void;
|
@@ -217,45 +738,71 @@ declare global {
|
|
217
738
|
* By default sort by initiative, next falling back to name, lastly tie-breaking by combatant id.
|
218
739
|
* @internal
|
219
740
|
*/
|
220
|
-
protected _sortCombatants(a: Combatant.
|
741
|
+
protected _sortCombatants(a: Combatant.Implementation, b: Combatant.Implementation): number;
|
221
742
|
|
222
743
|
/**
|
223
744
|
* Refresh the Token HUD under certain circumstances.
|
224
745
|
* @param documents - A list of Combatant documents that were added or removed.
|
225
746
|
*/
|
226
|
-
protected _refreshTokenHUD(documents: Array<Combatant>): void;
|
747
|
+
protected _refreshTokenHUD(documents: Array<Combatant.Implementation>): void;
|
227
748
|
|
228
749
|
/**
|
229
|
-
* @privateRemarks _onCreate, _onUpdate, and _onDelete are all overridden but with no signature changes.
|
230
|
-
* For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
|
750
|
+
* @privateRemarks _onCreate, _onUpdate, and _onDelete are all overridden but with no signature changes from BaseCombat.
|
231
751
|
*/
|
232
752
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
753
|
+
/**
|
754
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
755
|
+
* this method must be overriden like so:
|
756
|
+
* ```typescript
|
757
|
+
* class GurpsCombat extends Combat {
|
758
|
+
* protected override _onCreateDescendantDocuments(...args: Combat.OnCreateDescendantDocumentsArgs) {
|
759
|
+
* super._onCreateDescendantDocuments(...args);
|
760
|
+
*
|
761
|
+
* const [parent, collection, documents, data, options, userId] = args;
|
762
|
+
* if (collection === "combatants") {
|
763
|
+
* options; // Will be narrowed.
|
764
|
+
* }
|
765
|
+
* }
|
766
|
+
* }
|
767
|
+
* ```
|
768
|
+
*/
|
769
|
+
protected override _onCreateDescendantDocuments(...args: Combat.OnCreateDescendantDocumentsArgs): void;
|
241
770
|
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
771
|
+
/**
|
772
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
773
|
+
* this method must be overriden like so:
|
774
|
+
* ```typescript
|
775
|
+
* class Ptr2eCombat extends Combat {
|
776
|
+
* protected override _onUpdateDescendantDocuments(...args: Combat.OnUpdateDescendantDocumentsArgs) {
|
777
|
+
* super._onUpdateDescendantDocuments(...args);
|
778
|
+
*
|
779
|
+
* const [parent, collection, documents, changes, options, userId] = args;
|
780
|
+
* if (collection === "combatants") {
|
781
|
+
* options; // Will be narrowed.
|
782
|
+
* }
|
783
|
+
* }
|
784
|
+
* }
|
785
|
+
* ```
|
786
|
+
*/
|
787
|
+
protected override _onUpdateDescendantDocuments(...args: Combat.OnUpdateDescendantDocumentsArgs): void;
|
250
788
|
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
789
|
+
/**
|
790
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
791
|
+
* this method must be overriden like so:
|
792
|
+
* ```typescript
|
793
|
+
* class BladesCombat extends Combat {
|
794
|
+
* protected override _onDeleteDescendantDocuments(...args: Combat.OnUpdateDescendantDocuments) {
|
795
|
+
* super._onDeleteDescendantDocuments(...args);
|
796
|
+
*
|
797
|
+
* const [parent, collection, documents, ids, options, userId] = args;
|
798
|
+
* if (collection === "combatants") {
|
799
|
+
* options; // Will be narrowed.
|
800
|
+
* }
|
801
|
+
* }
|
802
|
+
* }
|
803
|
+
* ```
|
804
|
+
*/
|
805
|
+
protected override _onDeleteDescendantDocuments(...args: Combat.OnDeleteDescendantDocumentsArgs): void;
|
259
806
|
|
260
807
|
#onModifyCombatants();
|
261
808
|
|
@@ -263,7 +810,7 @@ declare global {
|
|
263
810
|
* Get the current history state of the Combat encounter.
|
264
811
|
* @param combatant - The new active combatant
|
265
812
|
*/
|
266
|
-
protected _getCurrentState(combatant: Combatant): Combat.HistoryData;
|
813
|
+
protected _getCurrentState(combatant: Combatant.Implementation): Combat.HistoryData;
|
267
814
|
|
268
815
|
/**
|
269
816
|
* Manage the execution of Combat lifecycle events.
|
@@ -284,7 +831,7 @@ declare global {
|
|
284
831
|
* This method only executes for one designated GM user. If no GM users are present this method will not be called.
|
285
832
|
* @param combatant - The Combatant whose turn just ended
|
286
833
|
*/
|
287
|
-
protected _onEndTurn(combatant: Combatant): Promise<void>;
|
834
|
+
protected _onEndTurn(combatant: Combatant.Implementation): Promise<void>;
|
288
835
|
|
289
836
|
/**
|
290
837
|
* A workflow that occurs at the end of each Combat Round.
|
@@ -309,21 +856,104 @@ declare global {
|
|
309
856
|
* This method only executes for one designated GM user. If no GM users are present this method will not be called.
|
310
857
|
* @param combatant - The Combatant whose turn just started
|
311
858
|
*/
|
312
|
-
protected _onStartTurn(combatant: Combatant): Promise<void>;
|
859
|
+
protected _onStartTurn(combatant: Combatant.Implementation): Promise<void>;
|
313
860
|
|
314
861
|
/**
|
315
|
-
* @deprecated Since v11 until v13. Use {@link Combat#updateCombatantActors} instead.
|
862
|
+
* @deprecated Since v11 until v13. Use {@link Combat.updateCombatantActors | `Combat#updateCombatantActors`} instead.
|
316
863
|
*/
|
317
864
|
updateEffectDurations(): void;
|
318
865
|
|
319
866
|
/**
|
320
|
-
* @deprecated Since v12. Use {@link Combat#getCombatantsByActor} instead.
|
867
|
+
* @deprecated Since v12. Use {@link Combat.getCombatantsByActor | `Combat#getCombatantsByActor`} instead.
|
321
868
|
*/
|
322
|
-
getCombatantByActor(actor: Actor): Combatant[];
|
869
|
+
getCombatantByActor(actor: Actor.Implementation): Combatant.Implementation[];
|
323
870
|
|
324
871
|
/**
|
325
|
-
* @deprecated Since v12. Use {@link Combat#getCombatantsByActor} instead.
|
872
|
+
* @deprecated Since v12. Use {@link Combat.getCombatantsByActor | `Combat#getCombatantsByActor`} instead.
|
873
|
+
*/
|
874
|
+
getCombatantByToken(token: Token.Implementation): Combatant.Implementation[];
|
875
|
+
|
876
|
+
/*
|
877
|
+
* After this point these are not really overridden methods.
|
878
|
+
* They are here because Foundry's documents are complex and have lots of edge cases.
|
879
|
+
* There are DRY ways of representing this but this ends up being harder to understand
|
880
|
+
* for end users extending these functions, especially for static methods. There are also a
|
881
|
+
* number of methods that don't make sense to call directly on `Document` like `createDocuments`,
|
882
|
+
* as there is no data that can safely construct every possible document. Finally keeping definitions
|
883
|
+
* separate like this helps against circularities.
|
326
884
|
*/
|
327
|
-
|
885
|
+
|
886
|
+
// ClientDocument overrides
|
887
|
+
|
888
|
+
/**
|
889
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
890
|
+
* this method must be overriden like so:
|
891
|
+
* ```typescript
|
892
|
+
* class SwadeCombat extends Combat {
|
893
|
+
* protected override _preCreateDescendantDocuments(...args: Combat.PreCreateDescendantDocumentsArgs) {
|
894
|
+
* super._preCreateDescendantDocuments(...args);
|
895
|
+
*
|
896
|
+
* const [parent, collection, data, options, userId] = args;
|
897
|
+
* if (collection === "combatants") {
|
898
|
+
* options; // Will be narrowed.
|
899
|
+
* }
|
900
|
+
* }
|
901
|
+
* }
|
902
|
+
* ```
|
903
|
+
*/
|
904
|
+
protected override _preCreateDescendantDocuments(...args: Combat.PreCreateDescendantDocumentsArgs): void;
|
905
|
+
|
906
|
+
/**
|
907
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
908
|
+
* this method must be overriden like so:
|
909
|
+
* ```typescript
|
910
|
+
* class LancerCombat extends Combat {
|
911
|
+
* protected override _preUpdateDescendantDocuments(...args: Combat.OnUpdateDescendantDocuments) {
|
912
|
+
* super._preUpdateDescendantDocuments(...args);
|
913
|
+
*
|
914
|
+
* const [parent, collection, changes, options, userId] = args;
|
915
|
+
* if (collection === "combatants") {
|
916
|
+
* options; // Will be narrowed.
|
917
|
+
* }
|
918
|
+
* }
|
919
|
+
* }
|
920
|
+
* ```
|
921
|
+
*/
|
922
|
+
protected override _preUpdateDescendantDocuments(...args: Combat.PreUpdateDescendantDocumentsArgs): void;
|
923
|
+
|
924
|
+
/**
|
925
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
926
|
+
* this method must be overriden like so:
|
927
|
+
* ```typescript
|
928
|
+
* class KultCombat extends Combat {
|
929
|
+
* protected override _preDeleteDescendantDocuments(...args: Combat.PreDeleteDescendantDocumentsArgs) {
|
930
|
+
* super._preDeleteDescendantDocuments(...args);
|
931
|
+
*
|
932
|
+
* const [parent, collection, ids, options, userId] = args;
|
933
|
+
* if (collection === "combatants") {
|
934
|
+
* options; // Will be narrowed.
|
935
|
+
* }
|
936
|
+
* }
|
937
|
+
* }
|
938
|
+
* ```
|
939
|
+
*/
|
940
|
+
protected override _preDeleteDescendantDocuments(...args: Combat.PreDeleteDescendantDocumentsArgs): void;
|
941
|
+
|
942
|
+
static override defaultName(context?: Document.DefaultNameContext<Combat.SubType, Combat.Parent>): string;
|
943
|
+
|
944
|
+
static override createDialog(
|
945
|
+
data?: Document.CreateDialogData<Combat.CreateData>,
|
946
|
+
context?: Document.CreateDialogContext<Combat.SubType, Combat.Parent>,
|
947
|
+
): Promise<Combat.Stored | null | undefined>;
|
948
|
+
|
949
|
+
static override fromDropData(
|
950
|
+
data: Document.DropData<Combat.Implementation>,
|
951
|
+
options?: Document.FromDropDataOptions,
|
952
|
+
): Promise<Combat.Implementation | undefined>;
|
953
|
+
|
954
|
+
static override fromImport(
|
955
|
+
source: Combat.Source,
|
956
|
+
context?: Document.FromImportContext<Combat.Parent>,
|
957
|
+
): Promise<Combat.Implementation>;
|
328
958
|
}
|
329
959
|
}
|