@league-of-foundry-developers/foundry-vtt-types 12.331.3-beta → 12.331.5
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 +17 -18
- package/package.json +91 -32
- package/src/configuration/configuration.d.mts +316 -0
- package/src/configuration/documents.d.mts +295 -0
- package/src/configuration/globals.d.mts +357 -0
- package/src/configuration/index.d.mts +5 -0
- package/src/foundry/client/apps/app.d.mts +129 -122
- package/src/foundry/client/apps/av/av-config.d.mts +12 -7
- package/src/foundry/client/apps/av/cameras.d.mts +12 -7
- package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
- package/src/foundry/client/apps/dice/index.d.mts +1 -0
- package/src/foundry/client/apps/form.d.mts +114 -86
- package/src/foundry/client/apps/forms/actor.d.mts +21 -11
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
- package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
- package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
- package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
- package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
- package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/folder-config.d.mts +10 -5
- package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
- package/src/foundry/client/apps/forms/grid-config.d.mts +12 -13
- package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
- package/src/foundry/client/apps/forms/item.d.mts +9 -9
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
- package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
- package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
- package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
- package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
- package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
- package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
- package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
- package/src/foundry/client/apps/hud/container.d.mts +4 -4
- package/src/foundry/client/apps/hud/controls.d.mts +126 -81
- package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
- package/src/foundry/client/apps/hud/hud.d.mts +5 -5
- package/src/foundry/client/apps/hud/menu.d.mts +10 -3
- package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
- package/src/foundry/client/apps/hud/pause.d.mts +9 -4
- package/src/foundry/client/apps/hud/players.d.mts +14 -9
- package/src/foundry/client/apps/i18n.d.mts +31 -27
- package/src/foundry/client/apps/index.d.mts +1 -0
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
- package/src/foundry/client/apps/placeables/index.d.mts +0 -2
- package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
- package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
- package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
- package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
- package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
- package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
- package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
- package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
- 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 +34 -29
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
- package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
- package/src/foundry/client/apps/templates.d.mts +1 -1
- package/src/foundry/client/av/client.d.mts +1 -1
- package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
- package/src/foundry/client/av/master.d.mts +2 -2
- package/src/foundry/client/av/settings.d.mts +17 -15
- package/src/foundry/client/config.d.mts +444 -312
- package/src/foundry/client/core/document-index.d.mts +11 -3
- package/src/foundry/client/core/hooks.d.mts +2 -4
- package/src/foundry/client/core/image.d.mts +14 -13
- package/src/foundry/client/core/issues.d.mts +9 -4
- package/src/foundry/client/core/keybindings.d.mts +5 -5
- package/src/foundry/client/core/nue.d.mts +1 -1
- package/src/foundry/client/core/packages.d.mts +400 -62
- package/src/foundry/client/core/settings.d.mts +62 -38
- 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 +2 -2
- package/src/foundry/client/core/tour.d.mts +59 -50
- package/src/foundry/client/core/tours.d.mts +1 -1
- package/src/foundry/client/core/utils.d.mts +33 -10
- package/src/foundry/client/core/video.d.mts +1 -1
- package/src/foundry/client/core/workers.d.mts +24 -17
- package/src/foundry/client/data/abstract/canvas-document.d.mts +22 -28
- package/src/foundry/client/data/abstract/client-document.d.mts +238 -206
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +24 -40
- package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
- package/src/foundry/client/data/abstract/world-collection.d.mts +53 -54
- package/src/foundry/client/data/collections/actors.d.mts +30 -28
- package/src/foundry/client/data/collections/cards.d.mts +16 -3
- package/src/foundry/client/data/collections/combats.d.mts +18 -5
- package/src/foundry/client/data/collections/compendium-collection.d.mts +84 -101
- package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
- package/src/foundry/client/data/collections/compendium-packs.d.mts +5 -5
- package/src/foundry/client/data/collections/fog.d.mts +16 -3
- package/src/foundry/client/data/collections/folder.d.mts +20 -6
- package/src/foundry/client/data/collections/items.d.mts +17 -4
- package/src/foundry/client/data/collections/journal.d.mts +22 -7
- package/src/foundry/client/data/collections/macros.d.mts +21 -19
- package/src/foundry/client/data/collections/messages.d.mts +19 -6
- package/src/foundry/client/data/collections/playlists.d.mts +17 -5
- package/src/foundry/client/data/collections/scenes.d.mts +24 -27
- package/src/foundry/client/data/collections/settings.d.mts +16 -3
- package/src/foundry/client/data/collections/tables.d.mts +18 -5
- package/src/foundry/client/data/collections/users.d.mts +22 -10
- package/src/foundry/client/data/documents/active-effect.d.mts +780 -112
- package/src/foundry/client/data/documents/actor-delta.d.mts +705 -31
- package/src/foundry/client/data/documents/actor.d.mts +806 -98
- package/src/foundry/client/data/documents/adventure.d.mts +522 -59
- package/src/foundry/client/data/documents/ambient-light.d.mts +427 -20
- package/src/foundry/client/data/documents/ambient-sound.d.mts +478 -14
- package/src/foundry/client/data/documents/card.d.mts +598 -44
- package/src/foundry/client/data/documents/cards.d.mts +862 -169
- package/src/foundry/client/data/documents/chat-message.d.mts +668 -77
- package/src/foundry/client/data/documents/combat.d.mts +757 -107
- package/src/foundry/client/data/documents/combatant.d.mts +545 -32
- package/src/foundry/client/data/documents/drawing.d.mts +545 -14
- package/src/foundry/client/data/documents/fog-exploration.d.mts +465 -30
- package/src/foundry/client/data/documents/folder.d.mts +567 -51
- package/src/foundry/client/data/documents/index.d.mts +2 -0
- package/src/foundry/client/data/documents/item.d.mts +691 -24
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +654 -55
- package/src/foundry/client/data/documents/journal-entry.d.mts +631 -35
- package/src/foundry/client/data/documents/macro.d.mts +560 -31
- package/src/foundry/client/data/documents/measured-template.d.mts +484 -15
- package/src/foundry/client/data/documents/note.d.mts +498 -15
- package/src/foundry/client/data/documents/playlist-sound.d.mts +443 -45
- package/src/foundry/client/data/documents/playlist.d.mts +710 -99
- package/src/foundry/client/data/documents/region-behavior.d.mts +516 -0
- package/src/foundry/client/data/documents/region.d.mts +789 -0
- package/src/foundry/client/data/documents/scene.d.mts +1216 -159
- package/src/foundry/client/data/documents/setting.d.mts +406 -23
- package/src/foundry/client/data/documents/table-result.d.mts +488 -14
- package/src/foundry/client/data/documents/table.d.mts +667 -78
- package/src/foundry/client/data/documents/tile.d.mts +505 -14
- package/src/foundry/client/data/documents/token.d.mts +1191 -143
- package/src/foundry/client/data/documents/user.d.mts +613 -57
- package/src/foundry/client/data/documents/wall.d.mts +555 -14
- package/src/foundry/client/game.d.mts +60 -92
- package/src/foundry/client/head.d.mts +9 -9
- package/src/foundry/client/hooks.d.mts +259 -248
- package/src/foundry/client/pixi/board.d.mts +107 -94
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
- package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +69 -30
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
- package/src/foundry/client/pixi/core/loader.d.mts +86 -76
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
- package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
- package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
- package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
- package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
- package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
- package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
- package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
- package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
- package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
- package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
- package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
- package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
- 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 +137 -65
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
- package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
- package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +91 -64
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
- package/src/foundry/client/pixi/placeable.d.mts +239 -137
- package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
- package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
- package/src/foundry/client/pixi/placeables/light.d.mts +193 -64
- package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
- package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
- package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
- package/src/foundry/client/pixi/placeables/template.d.mts +181 -100
- package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
- package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
- package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
- package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
- package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
- package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
- package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
- package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
- package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
- package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
- package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
- package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
- package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
- package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
- package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
- package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
- package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
- package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
- package/src/foundry/client/tours/setup-tour.d.mts +15 -10
- package/src/foundry/client/ui/context.d.mts +48 -40
- package/src/foundry/client/ui/dialog.d.mts +137 -126
- package/src/foundry/client/ui/drag.d.mts +1 -1
- package/src/foundry/client/ui/dragdrop.d.mts +34 -28
- package/src/foundry/client/ui/editor.d.mts +29 -21
- package/src/foundry/client/ui/filepicker.d.mts +43 -38
- package/src/foundry/client/ui/filter.d.mts +62 -50
- package/src/foundry/client/ui/forms.d.mts +22 -22
- package/src/foundry/client/ui/notifications.d.mts +10 -3
- package/src/foundry/client/ui/prosemirror.d.mts +15 -7
- package/src/foundry/client/ui/secrets.d.mts +42 -27
- package/src/foundry/client/ui/tabs.d.mts +40 -33
- package/src/foundry/client-esm/applications/_module.d.mts +3 -3
- package/src/foundry/client-esm/applications/_types.d.mts +0 -2
- package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/api/application.d.mts +28 -19
- package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
- package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
- package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
- package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
- package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
- package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
- package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +10 -8
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
- package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
- package/src/foundry/client-esm/audio/_module.d.mts +2 -3
- 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 +230 -126
- package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
- package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
- package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
- package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
- package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
- package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
- package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
- package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +13 -3
- 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 +121 -23
- package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
- package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -27
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
- package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
- package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
- package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +175 -2
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +142 -2
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
- package/src/foundry/client-esm/client.d.mts +47 -54
- package/src/foundry/client-esm/data/_module.d.mts +2 -2
- package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
- package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +56 -0
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
- package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
- package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
- package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
- package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
- package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
- package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
- package/src/foundry/client-esm/dice/_module.d.mts +2 -3
- package/src/foundry/client-esm/dice/parser.d.mts +11 -25
- package/src/foundry/client-esm/dice/roll.d.mts +112 -89
- package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
- package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
- package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
- package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
- package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
- package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
- package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
- package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
- package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
- package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
- package/src/foundry/client-esm/dice/twister.d.mts +3 -3
- package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
- package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
- package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
- package/src/foundry/common/abstract/_types.d.mts +60 -54
- package/src/foundry/common/abstract/backend.d.mts +51 -45
- package/src/foundry/common/abstract/data.d.mts +265 -236
- package/src/foundry/common/abstract/document.d.mts +1449 -464
- package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
- package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
- package/src/foundry/common/abstract/module.d.mts +3 -2
- package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
- package/src/foundry/common/abstract/socket.d.mts +1 -1
- package/src/foundry/common/abstract/type-data.d.mts +61 -55
- package/src/foundry/common/config.d.mts +11 -3
- package/src/foundry/common/constants.d.mts +261 -231
- package/src/foundry/common/data/data.d.mts +238 -102
- package/src/foundry/common/data/fields.d.mts +1334 -874
- package/src/foundry/common/data/module.d.mts +2 -2
- package/src/foundry/common/data/validation-failure.d.mts +12 -9
- package/src/foundry/common/documents/_module.d.mts +4 -2
- package/src/foundry/common/documents/_types.d.mts +22 -56
- package/src/foundry/common/documents/active-effect.d.mts +358 -194
- package/src/foundry/common/documents/actor-delta.d.mts +403 -73
- package/src/foundry/common/documents/actor.d.mts +359 -117
- package/src/foundry/common/documents/adventure.d.mts +312 -142
- package/src/foundry/common/documents/ambient-light.d.mts +296 -75
- package/src/foundry/common/documents/ambient-sound.d.mts +296 -109
- package/src/foundry/common/documents/card.d.mts +321 -187
- package/src/foundry/common/documents/cards.d.mts +353 -125
- package/src/foundry/common/documents/chat-message.d.mts +338 -167
- package/src/foundry/common/documents/combat.d.mts +358 -94
- package/src/foundry/common/documents/combatant.d.mts +323 -92
- package/src/foundry/common/documents/drawing.d.mts +327 -206
- package/src/foundry/common/documents/fog-exploration.d.mts +303 -69
- package/src/foundry/common/documents/folder.d.mts +307 -82
- package/src/foundry/common/documents/item.d.mts +377 -100
- package/src/foundry/common/documents/journal-entry-page.d.mts +327 -187
- package/src/foundry/common/documents/journal-entry.d.mts +345 -68
- package/src/foundry/common/documents/macro.d.mts +325 -139
- package/src/foundry/common/documents/measured-template.d.mts +328 -138
- package/src/foundry/common/documents/note.d.mts +312 -151
- package/src/foundry/common/documents/playlist-sound.d.mts +309 -102
- package/src/foundry/common/documents/playlist.d.mts +341 -131
- package/src/foundry/common/documents/region-behavior.d.mts +360 -0
- package/src/foundry/common/documents/region.d.mts +355 -0
- package/src/foundry/common/documents/roll-table.d.mts +320 -102
- package/src/foundry/common/documents/scene.d.mts +437 -350
- package/src/foundry/common/documents/setting.d.mts +285 -54
- package/src/foundry/common/documents/table-result.d.mts +326 -103
- package/src/foundry/common/documents/tile.d.mts +337 -172
- package/src/foundry/common/documents/token.d.mts +396 -447
- package/src/foundry/common/documents/user.d.mts +296 -173
- package/src/foundry/common/documents/wall.d.mts +303 -156
- package/src/foundry/common/grid/_module.d.mts +3 -3
- package/src/foundry/common/grid/base.d.mts +66 -49
- package/src/foundry/common/grid/gridless.d.mts +2 -2
- package/src/foundry/common/grid/hexagonal.d.mts +35 -28
- package/src/foundry/common/grid/square.d.mts +3 -3
- package/src/foundry/common/packages/base-module.d.mts +6 -24
- package/src/foundry/common/packages/base-package.d.mts +56 -31
- package/src/foundry/common/packages/base-system.d.mts +45 -63
- package/src/foundry/common/packages/base-world.d.mts +15 -61
- package/src/foundry/common/packages/module.d.mts +7 -7
- package/src/foundry/common/packages/sub-types.d.mts +4 -6
- package/src/foundry/common/primitives/array.d.mts +4 -4
- package/src/foundry/common/primitives/math.d.mts +7 -1
- package/src/foundry/common/primitives/number.d.mts +2 -2
- package/src/foundry/common/primitives/set.d.mts +17 -14
- package/src/foundry/common/primitives/string.d.mts +1 -1
- package/src/foundry/common/prosemirror/_module.d.mts +15 -15
- package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
- package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/menu.d.mts +3 -3
- package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
- package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
- package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
- package/src/foundry/common/prosemirror/util.d.mts +1 -1
- package/src/foundry/common/types.d.mts +3 -3
- package/src/foundry/common/utils/bitmask.d.mts +23 -11
- package/src/foundry/common/utils/collection.d.mts +61 -38
- package/src/foundry/common/utils/color.d.mts +20 -2
- package/src/foundry/common/utils/event-emitter.d.mts +32 -17
- package/src/foundry/common/utils/helpers.d.mts +36 -26
- package/src/foundry/common/utils/http.d.mts +2 -2
- package/src/foundry/common/utils/module.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/foundry/index.d.mts +0 -1
- package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
- package/src/foundry/public/scripts/index.d.mts +1 -0
- package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
- package/src/foundry/public/scripts/workers/index.d.mts +1 -0
- package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
- package/src/index.d.mts +6 -0
- package/src/tsconfig.json +15 -0
- package/src/types/augments/particles.d.mts +29 -0
- package/src/types/augments/pixi.d.mts +1024 -21
- package/src/types/augments/smooth.d.mts +31 -0
- package/src/types/augments/tinyMCE.d.mts +1 -1
- package/src/types/config.d.mts +18 -313
- package/src/types/documentConfiguration.d.mts +286 -542
- package/src/types/index.d.mts +1 -1
- package/src/types/lib.d.mts +12 -0
- package/src/types/workers/image-compressor.d.mts +176 -0
- package/src/utils/index.d.mts +1279 -0
- package/tsconfig.json +29 -0
- package/tsconfig.main.json +8 -0
- package/tsconfig.miscellaneous.json +16 -0
- package/index.d.mts +0 -5
- package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
- package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
- package/src/foundry/common/documents/module.d.mts +0 -35
- package/src/foundry/common/primitives/regex.d.mts +0 -12
- package/src/types/helperTypes.d.mts +0 -583
- package/src/types/utils.d.mts +0 -539
- /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,51 +1,581 @@
|
|
1
|
-
import type {
|
1
|
+
import type { ConfiguredCombat } from "../../../../configuration/index.d.mts";
|
2
|
+
import type { AnyObject, InexactPartial, Merge, NullishProps } from "#utils";
|
3
|
+
import type { documents } from "../../../client-esm/client.d.mts";
|
2
4
|
import type Document from "../../../common/abstract/document.d.mts";
|
3
|
-
import type {
|
5
|
+
import type { DataSchema } from "../../../common/data/fields.d.mts";
|
6
|
+
import type { fields } from "../../../common/data/module.d.mts";
|
4
7
|
import type BaseCombat from "../../../common/documents/combat.d.mts";
|
5
8
|
|
6
9
|
declare global {
|
7
10
|
namespace Combat {
|
8
|
-
|
11
|
+
/**
|
12
|
+
* The document's name.
|
13
|
+
*/
|
14
|
+
type Name = "Combat";
|
15
|
+
|
16
|
+
/**
|
17
|
+
* The arguments to construct the document.
|
18
|
+
*/
|
19
|
+
type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
|
20
|
+
|
21
|
+
/**
|
22
|
+
* The documents embedded within `Combat`.
|
23
|
+
*/
|
24
|
+
type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
|
25
|
+
|
26
|
+
/**
|
27
|
+
* The implementation of the `Combat` document instance configured through `CONFIG.Combat.documentClass` in Foundry and
|
28
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredCombat | `fvtt-types/configuration/ConfiguredCombat`} in fvtt-types.
|
29
|
+
*/
|
30
|
+
type Implementation = Document.ImplementationFor<Name>;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* The implementation of the `Combat` document configured through `CONFIG.Combat.documentClass` in Foundry and
|
34
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
|
35
|
+
*/
|
36
|
+
type ImplementationClass = Document.ImplementationClassFor<Name>;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* A document's metadata is special information about the document ranging anywhere from its name,
|
40
|
+
* whether it's indexed, or to the permissions a user has over it.
|
41
|
+
*/
|
42
|
+
interface Metadata
|
43
|
+
extends Merge<
|
44
|
+
Document.Metadata.Default,
|
45
|
+
Readonly<{
|
46
|
+
name: "Combat";
|
47
|
+
collection: "combats";
|
48
|
+
label: string;
|
49
|
+
labelPlural: string;
|
50
|
+
embedded: Metadata.Embedded;
|
51
|
+
hasTypeData: true;
|
52
|
+
permissions: Metadata.Permissions;
|
53
|
+
schemaVersion: string;
|
54
|
+
}>
|
55
|
+
> {}
|
56
|
+
|
57
|
+
namespace Metadata {
|
58
|
+
/**
|
59
|
+
* The embedded metadata
|
60
|
+
*/
|
61
|
+
interface Embedded {
|
62
|
+
Combatant: "combatants";
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* The permissions for whether a certain user can create, update, or delete this document.
|
67
|
+
*/
|
68
|
+
interface Permissions {
|
69
|
+
update(user: User.Internal.Implementation, doc: Implementation, data: UpdateData): boolean;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Allowed subtypes of `Combat`. This is configured through various methods. Modern Foundry
|
75
|
+
* recommends registering using [Data Models](https://foundryvtt.com/article/system-data-models/)
|
76
|
+
* under {@link CONFIG.Combat.dataModels | `CONFIG.Combat.dataModels`}. This corresponds to
|
77
|
+
* fvtt-type's {@link DataModelConfig | `DataModelConfig`}.
|
78
|
+
*
|
79
|
+
* Subtypes can also be registered through a `template.json` though this is discouraged.
|
80
|
+
* The corresponding fvtt-type configs are {@link SourceConfig | `SourceConfig`} and
|
81
|
+
* {@link DataConfig | `DataConfig`}.
|
82
|
+
*/
|
83
|
+
type SubType = Game.Model.TypeNames<"Combat">;
|
84
|
+
|
85
|
+
/**
|
86
|
+
* `ConfiguredSubTypes` represents the subtypes a user explicitly registered. This excludes
|
87
|
+
* subtypes like the Foundry builtin subtype `"base"` and the catch-all subtype for arbitrary
|
88
|
+
* module subtypes `${string}.${string}`.
|
89
|
+
*
|
90
|
+
* @see {@link SubType} for more information.
|
91
|
+
*/
|
92
|
+
type ConfiguredSubTypes = Document.ConfiguredSubTypesOf<"Combat">;
|
9
93
|
|
10
|
-
|
11
|
-
|
94
|
+
/**
|
95
|
+
* `Known` represents the types of `Combat` that a user explicitly registered.
|
96
|
+
*
|
97
|
+
* @see {@link ConfiguredSubTypes} for more information.
|
98
|
+
*/
|
99
|
+
type Known = Combat.OfType<Combat.ConfiguredSubTypes>;
|
100
|
+
|
101
|
+
/**
|
102
|
+
* `OfType` returns an instance of `Combat` with the corresponding type. This works with both the
|
103
|
+
* builtin `Combat` class or a custom subclass if that is set up in
|
104
|
+
* {@link ConfiguredCombat | `fvtt-types/configuration/ConfiguredCombat`}.
|
105
|
+
*/
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-restricted-types
|
107
|
+
type OfType<Type extends SubType> = Document.Internal.OfType<ConfiguredCombat<Type>, Combat<Type>>;
|
108
|
+
|
109
|
+
/**
|
110
|
+
* `SystemOfType` returns the system property for a specific `Combat` subtype.
|
111
|
+
*/
|
112
|
+
type SystemOfType<Type extends SubType> = Document.Internal.SystemOfType<_SystemMap, Type>;
|
12
113
|
|
114
|
+
/**
|
115
|
+
* @internal
|
116
|
+
*/
|
117
|
+
interface _SystemMap extends Document.Internal.SystemMap<"Combat"> {}
|
118
|
+
|
119
|
+
/**
|
120
|
+
* A document's parent is something that can contain it.
|
121
|
+
* For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
|
122
|
+
*/
|
123
|
+
type Parent = null;
|
124
|
+
|
125
|
+
/**
|
126
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
127
|
+
* This is a union of all instances, or never if the document doesn't have any descendants.
|
128
|
+
*/
|
129
|
+
type DescendantName = "Combatant";
|
130
|
+
|
131
|
+
/**
|
132
|
+
* A document's direct descendants are documents that are contained directly within its schema.
|
133
|
+
* This is a union of all such instances, or never if the document doesn't have any descendants.
|
134
|
+
*/
|
135
|
+
type DirectDescendant = Combatant.Stored;
|
136
|
+
|
137
|
+
/**
|
138
|
+
* A document's direct descendants are documents that are contained directly within its schema.
|
139
|
+
* This is a union of all such classes, or never if the document doesn't have any descendants.
|
140
|
+
*/
|
141
|
+
type DirectDescendantClass = Combatant.ImplementationClass;
|
142
|
+
|
143
|
+
/**
|
144
|
+
* A document's descendants are any documents that are contained within, either within its schema
|
145
|
+
* or its descendant's schemas.
|
146
|
+
* This is a union of all such instances, or never if the document doesn't have any descendants.
|
147
|
+
*/
|
148
|
+
type Descendant = DirectDescendant;
|
149
|
+
|
150
|
+
/**
|
151
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
152
|
+
* This is a union of all classes, or never if the document doesn't have any descendants.
|
153
|
+
*/
|
154
|
+
type DescendantClass = DirectDescendantClass;
|
155
|
+
|
156
|
+
/**
|
157
|
+
* Types of `CompendiumCollection` this document might be contained in.
|
158
|
+
* Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
|
159
|
+
*/
|
160
|
+
// Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
|
161
|
+
type Pack = never;
|
162
|
+
|
163
|
+
/**
|
164
|
+
* An embedded document is a document contained in another.
|
165
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
166
|
+
*
|
167
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
168
|
+
*/
|
169
|
+
type Embedded = Document.ImplementationFor<Embedded.Name>;
|
170
|
+
|
171
|
+
namespace Embedded {
|
172
|
+
/**
|
173
|
+
* An embedded document is a document contained in another.
|
174
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
175
|
+
*
|
176
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
177
|
+
*/
|
178
|
+
type Name = keyof Metadata.Embedded;
|
179
|
+
|
180
|
+
/**
|
181
|
+
* Gets the collection name for an embedded document.
|
182
|
+
*/
|
183
|
+
type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
|
184
|
+
Metadata.Embedded,
|
185
|
+
CollectionName
|
186
|
+
>;
|
187
|
+
|
188
|
+
/**
|
189
|
+
* Gets the collection document for an embedded document.
|
190
|
+
*/
|
191
|
+
// TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
|
192
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
193
|
+
type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
|
194
|
+
|
195
|
+
/**
|
196
|
+
* Gets the collection for an embedded document.
|
197
|
+
*/
|
198
|
+
type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
|
199
|
+
// TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
|
200
|
+
Document.Any,
|
201
|
+
Metadata.Embedded,
|
202
|
+
CollectionName
|
203
|
+
>;
|
204
|
+
|
205
|
+
/**
|
206
|
+
* A valid name to refer to a collection embedded in this document. For example an `Actor`
|
207
|
+
* has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
|
208
|
+
* valid keys (amongst others).
|
209
|
+
*/
|
210
|
+
type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
|
211
|
+
}
|
212
|
+
|
213
|
+
/**
|
214
|
+
* The name of the world or embedded collection this document can find itself in.
|
215
|
+
* For example an `Item` is always going to be inside a collection with a key of `items`.
|
216
|
+
* This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
|
217
|
+
*/
|
218
|
+
type ParentCollectionName = Metadata["collection"];
|
219
|
+
|
220
|
+
/**
|
221
|
+
* The world collection that contains `Combat`s. Will be `never` if none exists.
|
222
|
+
*/
|
223
|
+
type CollectionClass = CombatEncounters.ConfiguredClass;
|
224
|
+
|
225
|
+
/**
|
226
|
+
* The world collection that contains `Combat`s. Will be `never` if none exists.
|
227
|
+
*/
|
228
|
+
type Collection = CombatEncounters.Configured;
|
229
|
+
|
230
|
+
/**
|
231
|
+
* An instance of `Combat` that comes from the database but failed validation meaning that
|
232
|
+
* its `system` and `_source` could theoretically be anything.
|
233
|
+
*/
|
234
|
+
interface Invalid<out SubType extends Combat.SubType = Combat.SubType> extends Document.Invalid<OfType<SubType>> {}
|
235
|
+
|
236
|
+
/**
|
237
|
+
* An instance of `Combat` that comes from the database.
|
238
|
+
*/
|
239
|
+
interface Stored<out SubType extends Combat.SubType = Combat.SubType> extends Document.Stored<OfType<SubType>> {}
|
240
|
+
|
241
|
+
/**
|
242
|
+
* The data put in {@link Combat._source | `Combat#_source`}. This data is what was
|
243
|
+
* persisted to the database and therefore it must be valid JSON.
|
244
|
+
*
|
245
|
+
* For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
|
246
|
+
* but initialized as a {@link Set | `Set`}.
|
247
|
+
*/
|
248
|
+
interface Source extends fields.SchemaField.SourceData<Schema> {}
|
249
|
+
|
250
|
+
/**
|
251
|
+
* @deprecated {@link Combat.Source | `Combat.Source`}
|
252
|
+
*/
|
253
|
+
type PersistedData = Source;
|
254
|
+
|
255
|
+
/**
|
256
|
+
* The data necessary to create a document. Used in places like {@link Combat.create | `Combat.create`}
|
257
|
+
* and {@link Combat | `new Combat(...)`}.
|
258
|
+
*
|
259
|
+
* For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
|
260
|
+
* with the right values. This means you can pass a `Set` instance, an array of values,
|
261
|
+
* a generator, or any other iterable.
|
262
|
+
*/
|
263
|
+
interface CreateData extends fields.SchemaField.CreateData<Schema> {}
|
264
|
+
|
265
|
+
/**
|
266
|
+
* The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
|
267
|
+
* {@link Combat.name | `Combat#name`}.
|
268
|
+
*
|
269
|
+
* This is data transformed from {@link Combat.Source | `Combat.Source`} and turned into more
|
270
|
+
* convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
|
271
|
+
* persisted to the database as an array of values but at runtime it is a `Set` instance.
|
272
|
+
*/
|
273
|
+
interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
|
274
|
+
|
275
|
+
/**
|
276
|
+
* The data used to update a document, for example {@link Combat.update | `Combat#update`}.
|
277
|
+
* It is a distinct type from {@link Combat.CreateData | `DeepPartial<Combat.CreateData>`} because
|
278
|
+
* it has different rules for `null` and `undefined`.
|
279
|
+
*/
|
280
|
+
interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
|
281
|
+
|
282
|
+
/**
|
283
|
+
* The schema for {@link Combat | `Combat`}. This is the source of truth for how an Combat document
|
284
|
+
* must be structured.
|
285
|
+
*
|
286
|
+
* Foundry uses this schema to validate the structure of the {@link Combat | `Combat`}. For example
|
287
|
+
* a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
|
288
|
+
* complex fields like {@link fields.SetField | `SetField`} goes through various conversions
|
289
|
+
* starting as an array in the database, initialized as a set, and allows updates with any
|
290
|
+
* iterable.
|
291
|
+
*/
|
292
|
+
interface Schema extends DataSchema {
|
293
|
+
/**
|
294
|
+
* The _id which uniquely identifies this Combat document
|
295
|
+
* @defaultValue `null`
|
296
|
+
*/
|
297
|
+
_id: fields.DocumentIdField;
|
298
|
+
|
299
|
+
type: fields.DocumentTypeField<typeof BaseCombat, { initial: typeof CONST.BASE_DOCUMENT_TYPE }>;
|
300
|
+
|
301
|
+
system: fields.TypeDataField<typeof BaseCombat>;
|
302
|
+
|
303
|
+
/**
|
304
|
+
* The _id of a Scene within which this Combat occurs
|
305
|
+
* @defaultValue `null`
|
306
|
+
*/
|
307
|
+
scene: fields.ForeignDocumentField<typeof documents.BaseScene>;
|
308
|
+
|
309
|
+
/**
|
310
|
+
* A Collection of Combatant embedded Documents
|
311
|
+
* @defaultValue `[]`
|
312
|
+
*/
|
313
|
+
combatants: fields.EmbeddedCollectionField<typeof documents.BaseCombatant, Combat.Implementation>;
|
314
|
+
|
315
|
+
/**
|
316
|
+
* Is the Combat encounter currently active?
|
317
|
+
* @defaultValue `false`
|
318
|
+
*/
|
319
|
+
active: fields.BooleanField;
|
320
|
+
|
321
|
+
/**
|
322
|
+
* The current round of the Combat encounter
|
323
|
+
* @defaultValue `0`
|
324
|
+
*/
|
325
|
+
round: fields.NumberField<{
|
326
|
+
required: true;
|
327
|
+
nullable: false;
|
328
|
+
integer: true;
|
329
|
+
min: 0;
|
330
|
+
initial: 0;
|
331
|
+
label: "COMBAT.Round";
|
332
|
+
}>;
|
333
|
+
|
334
|
+
/**
|
335
|
+
* The current turn in the Combat round
|
336
|
+
* @defaultValue `null`
|
337
|
+
*/
|
338
|
+
turn: fields.NumberField<{ required: true; integer: true; min: 0; initial: null; label: "COMBAT.Turn" }>;
|
339
|
+
|
340
|
+
/**
|
341
|
+
* The current sort order of this Combat relative to others in the same Scene
|
342
|
+
* @defaultValue `0`
|
343
|
+
*/
|
344
|
+
sort: fields.IntegerSortField;
|
345
|
+
|
346
|
+
/**
|
347
|
+
* An object of optional key/value flags
|
348
|
+
* @defaultValue `{}`
|
349
|
+
*/
|
350
|
+
flags: fields.ObjectField.FlagsField<Name>;
|
351
|
+
|
352
|
+
/**
|
353
|
+
* An object of creation and access information
|
354
|
+
* @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
|
355
|
+
*/
|
356
|
+
_stats: fields.DocumentStatsField;
|
357
|
+
}
|
358
|
+
|
359
|
+
namespace Database {
|
360
|
+
/** Options passed along in Get operations for Combats */
|
361
|
+
interface Get extends foundry.abstract.types.DatabaseGetOperation<Combat.Parent> {}
|
362
|
+
|
363
|
+
/** Options passed along in Create operations for Combats */
|
364
|
+
interface Create<Temporary extends boolean | undefined = boolean | undefined>
|
365
|
+
extends foundry.abstract.types.DatabaseCreateOperation<Combat.CreateData, Combat.Parent, Temporary> {}
|
366
|
+
|
367
|
+
/** Options passed along in Delete operations for Combats */
|
368
|
+
interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<Combat.Parent> {}
|
369
|
+
|
370
|
+
/** Options passed along in Update operations for Combats */
|
371
|
+
interface Update extends foundry.abstract.types.DatabaseUpdateOperation<Combat.UpdateData, Combat.Parent> {
|
372
|
+
direction: -1 | 1;
|
373
|
+
worldTime: { delta: number };
|
374
|
+
turnEvents: boolean;
|
375
|
+
}
|
376
|
+
|
377
|
+
/** Operation for {@link Combat.createDocuments | `Combat.createDocuments`} */
|
378
|
+
interface CreateDocumentsOperation<Temporary extends boolean | undefined>
|
379
|
+
extends Document.Database.CreateOperation<Combat.Database.Create<Temporary>> {}
|
380
|
+
|
381
|
+
/** Operation for {@link Combat.updateDocuments | `Combat.updateDocuments`} */
|
382
|
+
interface UpdateDocumentsOperation extends Document.Database.UpdateDocumentsOperation<Combat.Database.Update> {}
|
383
|
+
|
384
|
+
/** Operation for {@link Combat.deleteDocuments | `Combat.deleteDocuments`} */
|
385
|
+
interface DeleteDocumentsOperation extends Document.Database.DeleteDocumentsOperation<Combat.Database.Delete> {}
|
386
|
+
|
387
|
+
/** Operation for {@link Combat.create | `Combat.create`} */
|
388
|
+
interface CreateOperation<Temporary extends boolean | undefined>
|
389
|
+
extends Document.Database.CreateOperation<Combat.Database.Create<Temporary>> {}
|
390
|
+
|
391
|
+
/** Operation for {@link Combat.update | `Combat#update`} */
|
392
|
+
interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
|
393
|
+
|
394
|
+
interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
|
395
|
+
|
396
|
+
/** Options for {@link Combat.get | `Combat.get`} */
|
397
|
+
interface GetOptions extends Document.Database.GetOptions {}
|
398
|
+
|
399
|
+
/** Options for {@link Combat._preCreate | `Combat#_preCreate`} */
|
400
|
+
interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
|
401
|
+
|
402
|
+
/** Options for {@link Combat._onCreate | `Combat#_onCreate`} */
|
403
|
+
interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
|
404
|
+
|
405
|
+
/** Operation for {@link Combat._preCreateOperation | `Combat._preCreateOperation`} */
|
406
|
+
interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<Combat.Database.Create> {}
|
407
|
+
|
408
|
+
/** Operation for {@link Combat._onCreateOperation | `Combat#_onCreateOperation`} */
|
409
|
+
interface OnCreateOperation extends Combat.Database.Create {}
|
410
|
+
|
411
|
+
/** Options for {@link Combat._preUpdate | `Combat#_preUpdate`} */
|
412
|
+
interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
|
413
|
+
|
414
|
+
/** Options for {@link Combat._onUpdate | `Combat#_onUpdate`} */
|
415
|
+
interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
|
416
|
+
|
417
|
+
/** Operation for {@link Combat._preUpdateOperation | `Combat._preUpdateOperation`} */
|
418
|
+
interface PreUpdateOperation extends Combat.Database.Update {}
|
419
|
+
|
420
|
+
/** Operation for {@link Combat._onUpdateOperation | `Combat._preUpdateOperation`} */
|
421
|
+
interface OnUpdateOperation extends Combat.Database.Update {}
|
422
|
+
|
423
|
+
/** Options for {@link Combat._preDelete | `Combat#_preDelete`} */
|
424
|
+
interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
|
425
|
+
|
426
|
+
/** Options for {@link Combat._onDelete | `Combat#_onDelete`} */
|
427
|
+
interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
|
428
|
+
|
429
|
+
/** Options for {@link Combat._preDeleteOperation | `Combat#_preDeleteOperation`} */
|
430
|
+
interface PreDeleteOperation extends Combat.Database.Delete {}
|
431
|
+
|
432
|
+
/** Options for {@link Combat._onDeleteOperation | `Combat#_onDeleteOperation`} */
|
433
|
+
interface OnDeleteOperation extends Combat.Database.Delete {}
|
434
|
+
|
435
|
+
/** Context for {@link Combat._onDeleteOperation | `Combat._onDeleteOperation`} */
|
436
|
+
interface OnDeleteDocumentsContext extends Document.ModificationContext<Combat.Parent> {}
|
437
|
+
|
438
|
+
/** Context for {@link Combat._onCreateDocuments | `Combat._onCreateDocuments`} */
|
439
|
+
interface OnCreateDocumentsContext extends Document.ModificationContext<Combat.Parent> {}
|
440
|
+
|
441
|
+
/** Context for {@link Combat._onUpdateDocuments | `Combat._onUpdateDocuments`} */
|
442
|
+
interface OnUpdateDocumentsContext extends Document.ModificationContext<Combat.Parent> {}
|
443
|
+
|
444
|
+
/**
|
445
|
+
* Options for {@link Combat._preCreateDescendantDocuments | `Combat#_preCreateDescendantDocuments`}
|
446
|
+
* and {@link Combat._onCreateDescendantDocuments | `Combat#_onCreateDescendantDocuments`}
|
447
|
+
*/
|
448
|
+
interface CreateOptions extends Document.Database.CreateOptions<Combat.Database.Create> {}
|
449
|
+
|
450
|
+
/**
|
451
|
+
* Options for {@link Combat._preUpdateDescendantDocuments | `Combat#_preUpdateDescendantDocuments`}
|
452
|
+
* and {@link Combat._onUpdateDescendantDocuments | `Combat#_onUpdateDescendantDocuments`}
|
453
|
+
*/
|
454
|
+
interface UpdateOptions extends Document.Database.UpdateOptions<Combat.Database.Update> {}
|
455
|
+
|
456
|
+
/**
|
457
|
+
* Options for {@link Combat._preDeleteDescendantDocuments | `Combat#_preDeleteDescendantDocuments`}
|
458
|
+
* and {@link Combat._onDeleteDescendantDocuments | `Combat#_onDeleteDescendantDocuments`}
|
459
|
+
*/
|
460
|
+
interface DeleteOptions extends Document.Database.DeleteOptions<Combat.Database.Delete> {}
|
461
|
+
}
|
462
|
+
|
463
|
+
/**
|
464
|
+
* The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
|
465
|
+
*/
|
466
|
+
interface Flags extends Document.ConfiguredFlagsForName<Name> {}
|
467
|
+
|
468
|
+
namespace Flags {
|
469
|
+
/**
|
470
|
+
* The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
|
471
|
+
*/
|
472
|
+
type Scope = Document.FlagKeyOf<Flags>;
|
473
|
+
|
474
|
+
/**
|
475
|
+
* The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
|
476
|
+
*/
|
477
|
+
type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
|
478
|
+
|
479
|
+
/**
|
480
|
+
* Gets the type of a particular flag given a `Scope` and a `Key`.
|
481
|
+
*/
|
482
|
+
type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
|
483
|
+
}
|
484
|
+
|
485
|
+
type PreCreateDescendantDocumentsArgs = Document.PreCreateDescendantDocumentsArgs<
|
486
|
+
Combat.Stored,
|
487
|
+
Combat.DirectDescendant,
|
488
|
+
Combat.Metadata.Embedded
|
489
|
+
>;
|
490
|
+
|
491
|
+
type OnCreateDescendantDocumentsArgs = Document.OnCreateDescendantDocumentsArgs<
|
492
|
+
Combat.Stored,
|
493
|
+
Combat.DirectDescendant,
|
494
|
+
Combat.Metadata.Embedded
|
495
|
+
>;
|
496
|
+
|
497
|
+
type PreUpdateDescendantDocumentsArgs = Document.PreUpdateDescendantDocumentsArgs<
|
498
|
+
Combat.Stored,
|
499
|
+
Combat.DirectDescendant,
|
500
|
+
Combat.Metadata.Embedded
|
501
|
+
>;
|
502
|
+
|
503
|
+
type OnUpdateDescendantDocumentsArgs = Document.OnUpdateDescendantDocumentsArgs<
|
504
|
+
Combat.Stored,
|
505
|
+
Combat.DirectDescendant,
|
506
|
+
Combat.Metadata.Embedded
|
507
|
+
>;
|
508
|
+
|
509
|
+
type PreDeleteDescendantDocumentsArgs = Document.PreDeleteDescendantDocumentsArgs<
|
510
|
+
Combat.Stored,
|
511
|
+
Combat.DirectDescendant,
|
512
|
+
Combat.Metadata.Embedded
|
513
|
+
>;
|
514
|
+
|
515
|
+
type OnDeleteDescendantDocumentsArgs = Document.OnDeleteDescendantDocumentsArgs<
|
516
|
+
Combat.Stored,
|
517
|
+
Combat.DirectDescendant,
|
518
|
+
Combat.Metadata.Embedded
|
519
|
+
>;
|
520
|
+
|
521
|
+
/**
|
522
|
+
* @deprecated {@link Combat.Database | `Combat.Database`}
|
523
|
+
*/
|
13
524
|
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
14
525
|
interface DatabaseOperations
|
15
|
-
|
16
|
-
|
526
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
527
|
+
extends Document.Database.Operations<
|
528
|
+
Combat.Implementation,
|
17
529
|
{},
|
18
530
|
{ direction: -1 | 1; worldTime: { delta: number }; turnEvents: boolean },
|
19
531
|
{}
|
20
532
|
> {}
|
21
533
|
/* eslint-enable @typescript-eslint/no-empty-object-type */
|
22
534
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
type
|
27
|
-
|
28
|
-
|
535
|
+
/**
|
536
|
+
* @deprecated {@link Combat.SubType | `Combat.SubType`}
|
537
|
+
*/
|
538
|
+
type TypeNames = Combat.SubType;
|
539
|
+
|
540
|
+
/**
|
541
|
+
* @deprecated {@link Combat.CreateData | `Combat.CreateData`}
|
542
|
+
*/
|
543
|
+
interface ConstructorData extends Combat.CreateData {}
|
29
544
|
|
30
|
-
|
545
|
+
/**
|
546
|
+
* @deprecated {@link Combat.implementation | `Combat.ImplementationClass`}
|
547
|
+
*/
|
548
|
+
type ConfiguredClass = ImplementationClass;
|
549
|
+
|
550
|
+
/**
|
551
|
+
* @deprecated {@link Combat.Implementation | `Combat.Implementation`}
|
552
|
+
*/
|
553
|
+
type ConfiguredInstance = Implementation;
|
554
|
+
|
555
|
+
/** @internal */
|
556
|
+
type _InitiativeOptions = NullishProps<{
|
31
557
|
/**
|
32
558
|
* A non-default initiative formula to roll. Otherwise the system default is used.
|
33
559
|
* @defaultValue `null`
|
34
560
|
*/
|
35
|
-
formula
|
561
|
+
formula: string;
|
36
562
|
|
37
563
|
/**
|
38
564
|
* Update the Combat turn after adding new initiative scores to keep the turn on the same Combatant.
|
39
565
|
* @defaultValue `true`
|
40
566
|
*/
|
41
|
-
updateTurn
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
567
|
+
updateTurn: boolean;
|
568
|
+
}> &
|
569
|
+
InexactPartial<{
|
570
|
+
/**
|
571
|
+
* Additional options with which to customize created Chat Messages
|
572
|
+
* @defaultValue `{}`
|
573
|
+
* @remarks Can't be `null` as it only has a parameter default
|
574
|
+
*/
|
575
|
+
messageOptions: ChatMessage.CreateData;
|
576
|
+
}>;
|
577
|
+
|
578
|
+
interface InitiativeOptions extends _InitiativeOptions {}
|
49
579
|
|
50
580
|
interface HistoryData {
|
51
581
|
round: number | null;
|
@@ -60,53 +590,59 @@ declare global {
|
|
60
590
|
/**
|
61
591
|
* The client-side Combat document which extends the common BaseCombat model.
|
62
592
|
*
|
63
|
-
* @see {@link Combats} The world-level collection of Combat documents
|
64
|
-
* @see {@link Combatant} The Combatant embedded document which exists within a Combat document
|
65
|
-
* @see {@link CombatConfig} The Combat configuration application
|
593
|
+
* @see {@link Combats | `Combats`} The world-level collection of Combat documents
|
594
|
+
* @see {@link Combatant | `Combatant`} The Combatant embedded document which exists within a Combat document
|
595
|
+
* @see {@link CombatConfig | `CombatConfig`} The Combat configuration application
|
66
596
|
*/
|
67
|
-
class Combat extends
|
68
|
-
|
69
|
-
|
597
|
+
class Combat<out SubType extends Combat.SubType = Combat.SubType> extends ClientDocumentMixin(
|
598
|
+
foundry.documents.BaseCombat,
|
599
|
+
)<SubType> {
|
70
600
|
/**
|
71
|
-
* @param data
|
601
|
+
* @param data - Initial data from which to construct the `Combat`
|
602
|
+
* @param context - Construction context options
|
72
603
|
*/
|
73
|
-
|
74
|
-
// constructor(
|
75
|
-
// data?: ConstructorParameters<typeof foundry.documents.BaseCombat>[0],
|
76
|
-
// context?: ConstructorParameters<typeof foundry.documents.BaseCombat>[1],
|
77
|
-
// );
|
604
|
+
constructor(...args: Combat.ConstructorArgs);
|
78
605
|
|
79
606
|
/** Track the sorted turn order of this combat encounter */
|
80
|
-
turns: Combatant.
|
607
|
+
turns: Combatant.Implementation[];
|
81
608
|
|
82
609
|
/** Record the current round, turn, and tokenId to understand changes in the encounter state */
|
83
610
|
current: Combat.HistoryData;
|
84
611
|
|
85
|
-
/**
|
86
|
-
|
612
|
+
/**
|
613
|
+
* Track the previous round, turn, and tokenId to understand changes in the encounter state
|
614
|
+
* @remarks Only `undefined` prior to first {@link Combat._onUpdate | `Combat#_onUpdate`} or {@link Combat.setupTurns | `Combat#setupTurns`} (which is called in
|
615
|
+
* {@link Combat.prepareDerivedData | `Combat#prepareDerivedData`}) call
|
616
|
+
*/
|
617
|
+
previous: Combat.HistoryData | undefined;
|
87
618
|
|
88
619
|
/**
|
89
620
|
* The configuration setting used to record Combat preferences
|
90
|
-
*
|
621
|
+
* @defaultValue `"combatTrackerConfig"`
|
622
|
+
* @privateRemarks Right now it doesn't make sense to make this not a literal, as `type CONFIG_SETTING` is static, so changing this would
|
623
|
+
* just make {@link Combat.settings | `Combat#settings`} and {@linkcode CombatEncounters.settings} incorrect
|
91
624
|
*/
|
92
|
-
|
625
|
+
// TODO: Make the setting name configurable?
|
626
|
+
static CONFIG_SETTING: "combatTrackerConfig";
|
93
627
|
|
94
628
|
/** Get the Combatant who has the current turn. */
|
95
|
-
get combatant():
|
629
|
+
get combatant(): Combatant.Implementation | undefined;
|
96
630
|
|
97
631
|
/**
|
98
632
|
* Get the Combatant who has the next turn.
|
99
633
|
*/
|
100
|
-
get nextCombatant(): Combatant.
|
634
|
+
get nextCombatant(): Combatant.Implementation | undefined;
|
101
635
|
|
102
636
|
/** Return the object of settings which modify the Combat Tracker behavior */
|
103
637
|
// Type is copied here to avoid recursion issue
|
638
|
+
// TODO: Make the setting name configurable?
|
104
639
|
get settings(): ClientSettings.SettingInitializedType<"core", Combat.CONFIG_SETTING>;
|
105
640
|
|
106
641
|
/** Has this combat encounter been started? */
|
107
642
|
get started(): boolean;
|
108
643
|
|
109
|
-
|
644
|
+
/** @remarks Foundry's implementation in {@linkcode Combat} always returns `true` */
|
645
|
+
override get visible(): boolean;
|
110
646
|
|
111
647
|
/** Is this combat active in the current scene? */
|
112
648
|
get isActive(): boolean;
|
@@ -116,8 +652,9 @@ declare global {
|
|
116
652
|
* Deactivate all other Combat encounters within the viewed Scene and set this one as active
|
117
653
|
* @param options - Additional context to customize the update workflow
|
118
654
|
*/
|
119
|
-
activate(options?:
|
655
|
+
activate(options?: Combat.Database.UpdateOperation): Promise<Combat.Implementation[]>;
|
120
656
|
|
657
|
+
/** @remarks Calls {@link Combat.setupTurns | `Combat#setupTurns`} if there is at least one Combatant and `this.turns` is empty */
|
121
658
|
override prepareDerivedData(): void;
|
122
659
|
|
123
660
|
/**
|
@@ -125,58 +662,55 @@ declare global {
|
|
125
662
|
* @param token - A Token ID or a TokenDocument instance
|
126
663
|
* @returns An array of Combatants which represent the Token.
|
127
664
|
*/
|
128
|
-
getCombatantsByToken(token: string | TokenDocument): Combatant.
|
665
|
+
getCombatantsByToken(token: string | TokenDocument.Implementation): Combatant.Implementation[];
|
129
666
|
|
130
667
|
/**
|
131
668
|
* Get a Combatant that represents the given Actor or Actor ID.
|
132
669
|
* @param actorOrId - An Actor ID or an Actor instance.
|
133
670
|
*/
|
134
|
-
getCombatantsByActor(actorOrId: string | Actor): Combatant.
|
671
|
+
getCombatantsByActor(actorOrId: string | Actor.Implementation): Combatant.Implementation[];
|
135
672
|
|
136
673
|
/** Begin the combat encounter, advancing to round 1 and turn 1 */
|
137
|
-
startCombat(): Promise<this>;
|
674
|
+
startCombat(): Promise<this | undefined>;
|
138
675
|
|
139
676
|
/** Advance the combat to the next round */
|
140
|
-
nextRound(): Promise<this>;
|
677
|
+
nextRound(): Promise<this | undefined>;
|
141
678
|
|
142
679
|
/** Rewind the combat to the previous round */
|
143
|
-
previousRound(): Promise<this>;
|
680
|
+
previousRound(): Promise<this | undefined>;
|
144
681
|
|
145
682
|
/** Advance the combat to the next turn */
|
146
|
-
nextTurn(): Promise<this>;
|
683
|
+
nextTurn(): Promise<this | undefined>;
|
147
684
|
|
148
685
|
/** Rewind the combat to the previous turn */
|
149
|
-
previousTurn(): Promise<this>;
|
686
|
+
previousTurn(): Promise<this | undefined>;
|
150
687
|
|
151
688
|
/** Display a dialog querying the GM whether they wish to end the combat encounter and empty the tracker */
|
152
|
-
endCombat(): Promise<this>;
|
689
|
+
endCombat(): Promise<this | undefined>;
|
153
690
|
|
154
691
|
/** Toggle whether this combat is linked to the scene or globally available. */
|
155
|
-
toggleSceneLink(): Promise<this>;
|
692
|
+
toggleSceneLink(): Promise<this | undefined>;
|
156
693
|
|
157
694
|
/** Reset all combatant initiative scores, setting the turn back to zero */
|
158
|
-
resetAll(): Promise<this>;
|
695
|
+
resetAll(): Promise<this | undefined>;
|
159
696
|
|
160
697
|
/**
|
161
698
|
* Roll initiative for one or multiple Combatants within the Combat document
|
162
699
|
* @param ids - A Combatant id or Array of ids for which to roll
|
163
|
-
* @param options - Additional options which modify how initiative rolls are created or presented.
|
164
|
-
* default `{}`
|
700
|
+
* @param options - Additional options which modify how initiative rolls are created or presented. (default: `{}`)
|
165
701
|
* @returns A promise which resolves to the updated Combat document once updates are complete.
|
166
702
|
*/
|
167
703
|
rollInitiative(ids: string | string[], options?: Combat.InitiativeOptions): Promise<this>;
|
168
704
|
|
169
705
|
/**
|
170
706
|
* Roll initiative for all combatants which have not already rolled
|
171
|
-
* @param options - Additional options forwarded to the Combat.rollInitiative method
|
172
|
-
* default `{}`
|
707
|
+
* @param options - Additional options forwarded to the Combat.rollInitiative method (default: `{}`)
|
173
708
|
*/
|
174
709
|
rollAll(options?: Combat.InitiativeOptions): Promise<this>;
|
175
710
|
|
176
711
|
/**
|
177
712
|
* Roll initiative for all non-player actors who have not already rolled
|
178
|
-
* @param options - Additional options forwarded to the Combat.rollInitiative method
|
179
|
-
* default `{}`
|
713
|
+
* @param options - Additional options forwarded to the Combat.rollInitiative method (default: `{}`)
|
180
714
|
*/
|
181
715
|
rollNPC(options?: Combat.InitiativeOptions): Promise<this>;
|
182
716
|
|
@@ -189,13 +723,13 @@ declare global {
|
|
189
723
|
setInitiative(id: string, value: number): Promise<void>;
|
190
724
|
|
191
725
|
/** Return the Array of combatants sorted into initiative order, breaking ties alphabetically by name. */
|
192
|
-
setupTurns():
|
726
|
+
setupTurns(): Combatant.Implementation[];
|
193
727
|
|
194
728
|
/**
|
195
729
|
* Debounce changes to the composition of the Combat encounter to de-duplicate multiple concurrent Combatant changes.
|
196
730
|
* If this is the currently viewed encounter, re-render the CombatTracker application.
|
197
731
|
*/
|
198
|
-
debounceSetup: () =>
|
732
|
+
debounceSetup: () => void;
|
199
733
|
|
200
734
|
/**
|
201
735
|
* Update active effect durations for all actors present in this Combat encounter.
|
@@ -204,65 +738,89 @@ declare global {
|
|
204
738
|
|
205
739
|
/**
|
206
740
|
* Loads the registered Combat Theme (if any) and plays the requested type of sound.
|
207
|
-
|
208
|
-
* If multiple exist for that type, one is chosen at random.
|
741
|
+
* If multiple exist for that type, one is chosen at random.
|
209
742
|
* @param announcement - The announcement that should be played: "startEncounter", "nextUp", or "yourTurn".
|
210
743
|
*/
|
211
|
-
protected _playCombatSound(announcement:
|
744
|
+
protected _playCombatSound(announcement: CONST.COMBAT_ANNOUNCEMENTS): void;
|
212
745
|
|
213
746
|
/**
|
214
747
|
* Define how the array of Combatants is sorted in the displayed list of the tracker.
|
215
748
|
* This method can be overridden by a system or module which needs to display combatants in an alternative order.
|
216
|
-
*
|
217
|
-
* @
|
749
|
+
* The default sorting rules sort in descending order of initiative using combatant IDs for tiebreakers.
|
750
|
+
* @param a - Some combatant
|
751
|
+
* @param b - Some other combatant
|
218
752
|
*/
|
219
|
-
protected _sortCombatants(a: Combatant.
|
753
|
+
protected _sortCombatants(a: Combatant.Implementation, b: Combatant.Implementation): number;
|
220
754
|
|
221
755
|
/**
|
222
756
|
* Refresh the Token HUD under certain circumstances.
|
223
757
|
* @param documents - A list of Combatant documents that were added or removed.
|
224
758
|
*/
|
225
|
-
protected _refreshTokenHUD(documents:
|
759
|
+
protected _refreshTokenHUD(documents: Combatant.Implementation[]): void;
|
760
|
+
|
761
|
+
// _onCreate, _onUpdate, and _onDelete are all overridden but with no signature changes from BaseCombat.
|
226
762
|
|
227
763
|
/**
|
228
|
-
* @
|
229
|
-
*
|
764
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
765
|
+
* this method must be overridden like so:
|
766
|
+
* ```typescript
|
767
|
+
* class GurpsCombat extends Combat {
|
768
|
+
* protected override _onCreateDescendantDocuments(...args: Combat.OnCreateDescendantDocumentsArgs) {
|
769
|
+
* super._onCreateDescendantDocuments(...args);
|
770
|
+
*
|
771
|
+
* const [parent, collection, documents, data, options, userId] = args;
|
772
|
+
* if (collection === "combatants") {
|
773
|
+
* options; // Will be narrowed.
|
774
|
+
* }
|
775
|
+
* }
|
776
|
+
* }
|
777
|
+
* ```
|
230
778
|
*/
|
779
|
+
protected override _onCreateDescendantDocuments(...args: Combat.OnCreateDescendantDocumentsArgs): void;
|
231
780
|
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
): void;
|
781
|
+
/**
|
782
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
783
|
+
* this method must be overridden like so:
|
784
|
+
* ```typescript
|
785
|
+
* class Ptr2eCombat extends Combat {
|
786
|
+
* protected override _onUpdateDescendantDocuments(...args: Combat.OnUpdateDescendantDocumentsArgs) {
|
787
|
+
* super._onUpdateDescendantDocuments(...args);
|
788
|
+
*
|
789
|
+
* const [parent, collection, documents, changes, options, userId] = args;
|
790
|
+
* if (collection === "combatants") {
|
791
|
+
* options; // Will be narrowed.
|
792
|
+
* }
|
793
|
+
* }
|
794
|
+
* }
|
795
|
+
* ```
|
796
|
+
*/
|
797
|
+
protected override _onUpdateDescendantDocuments(...args: Combat.OnUpdateDescendantDocumentsArgs): void;
|
249
798
|
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
799
|
+
/**
|
800
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
801
|
+
* this method must be overridden like so:
|
802
|
+
* ```typescript
|
803
|
+
* class BladesCombat extends Combat {
|
804
|
+
* protected override _onDeleteDescendantDocuments(...args: Combat.OnUpdateDescendantDocuments) {
|
805
|
+
* super._onDeleteDescendantDocuments(...args);
|
806
|
+
*
|
807
|
+
* const [parent, collection, documents, ids, options, userId] = args;
|
808
|
+
* if (collection === "combatants") {
|
809
|
+
* options; // Will be narrowed.
|
810
|
+
* }
|
811
|
+
* }
|
812
|
+
* }
|
813
|
+
* ```
|
814
|
+
*/
|
815
|
+
protected override _onDeleteDescendantDocuments(...args: Combat.OnDeleteDescendantDocumentsArgs): void;
|
258
816
|
|
259
817
|
#onModifyCombatants();
|
260
818
|
|
261
819
|
/**
|
262
820
|
* Get the current history state of the Combat encounter.
|
263
|
-
* @param combatant - The new active combatant
|
821
|
+
* @param combatant - The new active combatant (default: `this.combatant`)
|
264
822
|
*/
|
265
|
-
protected _getCurrentState(combatant
|
823
|
+
protected _getCurrentState(combatant?: Combatant.Implementation): Combat.HistoryData;
|
266
824
|
|
267
825
|
/**
|
268
826
|
* Manage the execution of Combat lifecycle events.
|
@@ -272,9 +830,8 @@ declare global {
|
|
272
830
|
* 3. Begin Round
|
273
831
|
* 4. Begin Turn
|
274
832
|
* Each lifecycle event is an async method, and each is awaited before proceeding.
|
275
|
-
* @param adjustedTurn - Optionally, an adjusted turn to commit to the Combat.
|
276
833
|
*/
|
277
|
-
protected _manageTurnEvents(
|
834
|
+
protected _manageTurnEvents(): Promise<void>;
|
278
835
|
|
279
836
|
/**
|
280
837
|
* A workflow that occurs at the end of each Combat Turn.
|
@@ -283,7 +840,7 @@ declare global {
|
|
283
840
|
* This method only executes for one designated GM user. If no GM users are present this method will not be called.
|
284
841
|
* @param combatant - The Combatant whose turn just ended
|
285
842
|
*/
|
286
|
-
protected _onEndTurn(combatant: Combatant): Promise<void>;
|
843
|
+
protected _onEndTurn(combatant: Combatant.Implementation): Promise<void>;
|
287
844
|
|
288
845
|
/**
|
289
846
|
* A workflow that occurs at the end of each Combat Round.
|
@@ -308,21 +865,114 @@ declare global {
|
|
308
865
|
* This method only executes for one designated GM user. If no GM users are present this method will not be called.
|
309
866
|
* @param combatant - The Combatant whose turn just started
|
310
867
|
*/
|
311
|
-
protected _onStartTurn(combatant: Combatant): Promise<void>;
|
868
|
+
protected _onStartTurn(combatant: Combatant.Implementation): Promise<void>;
|
312
869
|
|
313
870
|
/**
|
314
|
-
* @deprecated Since v11 until v13.
|
871
|
+
* @deprecated Since v11 until v13.
|
872
|
+
* @remarks "`Combat#updateEffectDurations` is renamed to {@link Combat.updateCombatantActors | `Combat#updateCombatantActors`}"
|
315
873
|
*/
|
316
874
|
updateEffectDurations(): void;
|
317
875
|
|
318
876
|
/**
|
319
|
-
* @deprecated Since v12
|
877
|
+
* @deprecated Since v12, no stated end
|
878
|
+
* @remarks Foundry provides no deprecation warning; use {@link Combat.getCombatantsByActor | `Combat#getCombatantsByActor`} instead.
|
879
|
+
*/
|
880
|
+
getCombatantByActor(actor: string | Actor.Implementation): Combatant.Implementation | null;
|
881
|
+
|
882
|
+
/**
|
883
|
+
* @deprecated Since v12, no stated end
|
884
|
+
* @remarks Foundry provides no deprecation warning; use {@link Combat.getCombatantsByActor | `Combat#getCombatantsByActor`} instead.
|
885
|
+
*/
|
886
|
+
getCombatantByToken(token: string | Token.Object): Combatant.Implementation | null;
|
887
|
+
|
888
|
+
/*
|
889
|
+
* After this point these are not really overridden methods.
|
890
|
+
* They are here because Foundry's documents are complex and have lots of edge cases.
|
891
|
+
* There are DRY ways of representing this but this ends up being harder to understand
|
892
|
+
* for end users extending these functions, especially for static methods. There are also a
|
893
|
+
* number of methods that don't make sense to call directly on `Document` like `createDocuments`,
|
894
|
+
* as there is no data that can safely construct every possible document. Finally keeping definitions
|
895
|
+
* separate like this helps against circularities.
|
896
|
+
*/
|
897
|
+
|
898
|
+
// ClientDocument overrides
|
899
|
+
|
900
|
+
/**
|
901
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
902
|
+
* this method must be overridden like so:
|
903
|
+
* ```typescript
|
904
|
+
* class SwadeCombat extends Combat {
|
905
|
+
* protected override _preCreateDescendantDocuments(...args: Combat.PreCreateDescendantDocumentsArgs) {
|
906
|
+
* super._preCreateDescendantDocuments(...args);
|
907
|
+
*
|
908
|
+
* const [parent, collection, data, options, userId] = args;
|
909
|
+
* if (collection === "combatants") {
|
910
|
+
* options; // Will be narrowed.
|
911
|
+
* }
|
912
|
+
* }
|
913
|
+
* }
|
914
|
+
* ```
|
320
915
|
*/
|
321
|
-
|
916
|
+
protected override _preCreateDescendantDocuments(...args: Combat.PreCreateDescendantDocumentsArgs): void;
|
322
917
|
|
323
918
|
/**
|
324
|
-
* @
|
919
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
920
|
+
* this method must be overridden like so:
|
921
|
+
* ```typescript
|
922
|
+
* class LancerCombat extends Combat {
|
923
|
+
* protected override _preUpdateDescendantDocuments(...args: Combat.OnUpdateDescendantDocuments) {
|
924
|
+
* super._preUpdateDescendantDocuments(...args);
|
925
|
+
*
|
926
|
+
* const [parent, collection, changes, options, userId] = args;
|
927
|
+
* if (collection === "combatants") {
|
928
|
+
* options; // Will be narrowed.
|
929
|
+
* }
|
930
|
+
* }
|
931
|
+
* }
|
932
|
+
* ```
|
325
933
|
*/
|
326
|
-
|
934
|
+
protected override _preUpdateDescendantDocuments(...args: Combat.PreUpdateDescendantDocumentsArgs): void;
|
935
|
+
|
936
|
+
/**
|
937
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
938
|
+
* this method must be overridden like so:
|
939
|
+
* ```typescript
|
940
|
+
* class KultCombat extends Combat {
|
941
|
+
* protected override _preDeleteDescendantDocuments(...args: Combat.PreDeleteDescendantDocumentsArgs) {
|
942
|
+
* super._preDeleteDescendantDocuments(...args);
|
943
|
+
*
|
944
|
+
* const [parent, collection, ids, options, userId] = args;
|
945
|
+
* if (collection === "combatants") {
|
946
|
+
* options; // Will be narrowed.
|
947
|
+
* }
|
948
|
+
* }
|
949
|
+
* }
|
950
|
+
* ```
|
951
|
+
*/
|
952
|
+
protected override _preDeleteDescendantDocuments(...args: Combat.PreDeleteDescendantDocumentsArgs): void;
|
953
|
+
|
954
|
+
// context: not null (destructured)
|
955
|
+
static override defaultName(context?: Document.DefaultNameContext<"Combat", Combat.Parent>): string;
|
956
|
+
|
957
|
+
// data: not null (parameter default only), context: not null (destructured)
|
958
|
+
static override createDialog(
|
959
|
+
data?: Document.CreateDialogData<Combat.CreateData>,
|
960
|
+
context?: Document.CreateDialogContext<"Combat", Combat.Parent>,
|
961
|
+
): Promise<Combat.Stored | null | undefined>;
|
962
|
+
|
963
|
+
// options: not null (parameter default only)
|
964
|
+
static override fromDropData(
|
965
|
+
data: Document.DropData<Combat.Implementation>,
|
966
|
+
options?: AnyObject,
|
967
|
+
): Promise<Combat.Implementation | undefined>;
|
968
|
+
|
969
|
+
static override fromImport(
|
970
|
+
source: Combat.Source,
|
971
|
+
context?: Document.FromImportContext<Combat.Parent> | null,
|
972
|
+
): Promise<Combat.Implementation>;
|
973
|
+
|
974
|
+
override _onClickDocumentLink(event: MouseEvent): ClientDocument.OnClickDocumentLinkReturn;
|
975
|
+
|
976
|
+
#Combat: true;
|
327
977
|
}
|
328
978
|
}
|