3 Commits
526 changed files with 203486 additions and 184409 deletions
@@ -1,10 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium')
## CompendiumDocumentType Enum
Тип документов компендиума\.
```csharp
internal enum CompendiumDocumentType
```
@@ -1,47 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder Constructors
| Overloads | |
| :--- | :--- |
| [CompendiumFolder\(JObject\)](CompendiumFolder.CompendiumFolder.md#Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(Newtonsoft.Json.Linq.JObject) 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.CompendiumFolder\(Newtonsoft\.Json\.Linq\.JObject\)') | Конструктор папки компендиума из JSON\-объекта\. |
| [CompendiumFolder\(string, string\)](CompendiumFolder.CompendiumFolder.md#Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(string,string) 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.CompendiumFolder\(string, string\)') | Конструктор папки компендиума\. |
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(Newtonsoft.Json.Linq.JObject)'></a>
## CompendiumFolder\(JObject\) Constructor
Конструктор папки компендиума из JSON\-объекта\.
```csharp
public CompendiumFolder(Newtonsoft.Json.Linq.JObject json);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(Newtonsoft.Json.Linq.JObject).json'></a>
`json` [Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(string,string)'></a>
## CompendiumFolder\(string, string\) Constructor
Конструктор папки компендиума\.
```csharp
public CompendiumFolder(string id, string name);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(string,string).id'></a>
`id` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
Идентификатор папки\.
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(string,string).name'></a>
`name` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
Название папки\.
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.Id Property
Идентификатор папки\.
```csharp
public string Id { get; }
```
#### Property Value
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.IsContained Property
Указатель, что папка содержится в других папках\.
```csharp
public bool IsContained { get; }
```
#### Property Value
[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.Name Property
Название папки\.
```csharp
public string Name { get; }
```
#### Property Value
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.Parent Property
Родительская папка\.
```csharp
public Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder? Parent { get; set; }
```
#### Property Value
[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.Path Property
Путь к папке\.
```csharp
public string? Path { get; }
```
#### Property Value
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
@@ -1,14 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.ToString\(\) Method
Строковое представление данных о папки компендиума\.
```csharp
public override string ToString();
```
#### Returns
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
Строковое представление данных о папки компендиума\.
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
## CompendiumFolder\.Type Property
Тип документов в папке\.
```csharp
public Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumDocumentType Type { get; }
```
#### Property Value
[CompendiumDocumentType](CompendiumDocumentType.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumDocumentType')
@@ -1,30 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium')
## CompendiumFolder Class
Папка компендиума\.
```csharp
internal class CompendiumFolder
```
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; CompendiumFolder
| Constructors | |
| :--- | :--- |
| [CompendiumFolder\(JObject\)](CompendiumFolder.CompendiumFolder.md#Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(Newtonsoft.Json.Linq.JObject) 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.CompendiumFolder\(Newtonsoft\.Json\.Linq\.JObject\)') | Конструктор папки компендиума из JSON\-объекта\. |
| [CompendiumFolder\(string, string\)](CompendiumFolder.CompendiumFolder.md#Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder.CompendiumFolder(string,string) 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.CompendiumFolder\(string, string\)') | Конструктор папки компендиума\. |
| Properties | |
| :--- | :--- |
| [Id](CompendiumFolder.Id.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.Id') | Идентификатор папки\. |
| [IsContained](CompendiumFolder.IsContained.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.IsContained') | Указатель, что папка содержится в других папках\. |
| [Name](CompendiumFolder.Name.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.Name') | Название папки\. |
| [Parent](CompendiumFolder.Parent.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.Parent') | Родительская папка\. |
| [Path](CompendiumFolder.Path.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.Path') | Путь к папке\. |
| [Type](CompendiumFolder.Type.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.Type') | Тип документов в папке\. |
| Methods | |
| :--- | :--- |
| [ToString\(\)](CompendiumFolder.ToString().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\.ToString\(\)') | Строковое представление данных о папки компендиума\. |
@@ -1,17 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolderCollection](CompendiumFolderCollection.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection')
## CompendiumFolderCollection\.Add\(CompendiumFolder\) Method
Добавление информации о папке\.
```csharp
public void Add(Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder folder);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolderCollection.Add(Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder).folder'></a>
`folder` [CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
Добавляемая папка\.
@@ -1,21 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolderCollection](CompendiumFolderCollection.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection')
## CompendiumFolderCollection\.GetById\(string\) Method
Получение папки по идентификатору
```csharp
public Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder? GetById(string id);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolderCollection.GetById(string).id'></a>
`id` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
Искомый идентификатор
#### Returns
[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
Искомая папка
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[CompendiumFolderCollection](CompendiumFolderCollection.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection')
## CompendiumFolderCollection\.Items Property
Список загруженных папок\.
```csharp
public System.Collections.Generic.List<Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder> Items { get; }
```
#### Property Value
[System\.Collections\.Generic\.List&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')[CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')
@@ -1,21 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium')
## CompendiumFolderCollection Class
Коллекция папок компендиума
```csharp
internal class CompendiumFolderCollection
```
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; CompendiumFolderCollection
| Properties | |
| :--- | :--- |
| [Items](CompendiumFolderCollection.Items.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection\.Items') | Список загруженных папок\. |
| Methods | |
| :--- | :--- |
| [Add\(CompendiumFolder\)](CompendiumFolderCollection.Add(CompendiumFolder).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection\.Add\(Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\)') | Добавление информации о папке\. |
| [GetById\(string\)](CompendiumFolderCollection.GetById(string).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection\.GetById\(string\)') | Получение папки по идентификатору |
@@ -1,10 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation').[CompendiumFolderProcessor](CompendiumFolderProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.CompendiumFolderProcessor')
## CompendiumFolderProcessor\.LoadPacks\(\) Method
Загрузка основных папок\.
```csharp
private void LoadPacks();
```
@@ -1,19 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation').[CompendiumFolderProcessor](CompendiumFolderProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.CompendiumFolderProcessor')
## CompendiumFolderProcessor\.ProcessPackFolders\(JArray, CompendiumFolder\) Method
Обработка папок компендиума в поле \`packFolders\`\.
```csharp
private void ProcessPackFolders(Newtonsoft.Json.Linq.JArray folders, Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder? parent);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.CompendiumFolderProcessor.ProcessPackFolders(Newtonsoft.Json.Linq.JArray,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder).folders'></a>
`folders` [Newtonsoft\.Json\.Linq\.JArray](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JArray 'Newtonsoft\.Json\.Linq\.JArray')
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.CompendiumFolderProcessor.ProcessPackFolders(Newtonsoft.Json.Linq.JArray,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolder).parent'></a>
`parent` [CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder')
@@ -1,17 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation')
## CompendiumFolderProcessor Class
```csharp
internal class CompendiumFolderProcessor : Pf2eDataScrapper.Processors.Definitions.IProcessor
```
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; CompendiumFolderProcessor
Implements [IProcessor](IProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor')
| Methods | |
| :--- | :--- |
| [LoadPacks\(\)](CompendiumFolderProcessor.LoadPacks().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.CompendiumFolderProcessor\.LoadPacks\(\)') | Загрузка основных папок\. |
| [ProcessPackFolders\(JArray, CompendiumFolder\)](CompendiumFolderProcessor.ProcessPackFolders(JArray,CompendiumFolder).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.CompendiumFolderProcessor\.ProcessPackFolders\(Newtonsoft\.Json\.Linq\.JArray, Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder\)') | Обработка папок компендиума в поле \`packFolders\`\. |
@@ -0,0 +1,13 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Helpers](Pf2eDataScrapper.Helpers.md 'Pf2eDataScrapper\.Helpers').[EntityView](EntityView.md 'Pf2eDataScrapper\.Helpers\.EntityView')
## EntityView\.Context Property
Контекст базы данных, используемый для получения сущностей\.
```csharp
private Pf2eModel.Pf2eDbContext Context { private get; }
```
#### Property Value
[Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
@@ -6,7 +6,7 @@
Корневая сущность\. Корневая сущность\.
```csharp ```csharp
public Pf2eModel.Model.Base.Entity? Entity { get; } public Pf2eModel.Model.Base.Entity Entity { get; }
``` ```
#### Property Value #### Property Value
@@ -1,29 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Helpers](Pf2eDataScrapper.Helpers.md 'Pf2eDataScrapper\.Helpers').[EntityView](EntityView.md 'Pf2eDataScrapper\.Helpers\.EntityView')
## EntityView\(Pf2eDbContext, EntityType, int\) Constructor
Конструктор класса, который получает сущность из базы данных и заполняет её данными\.
```csharp
public EntityView(Pf2eModel.Pf2eDbContext context, Pf2eModel.Model.Enum.EntityType type, int id);
```
#### Parameters
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int).context'></a>
`context` [Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
Контекст базы данных\.
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int).type'></a>
`type` [Pf2eModel\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Enum.EntityType 'Pf2eModel\.Model\.Enum\.EntityType')
Тип запрашиваемой сущности\.
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int).id'></a>
`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
Идентификатор запрашиваемой сущности\.
@@ -0,0 +1,61 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Helpers](Pf2eDataScrapper.Helpers.md 'Pf2eDataScrapper\.Helpers').[EntityView](EntityView.md 'Pf2eDataScrapper\.Helpers\.EntityView')
## EntityView Constructors
| Overloads | |
| :--- | :--- |
| [EntityView\(Pf2eDbContext, Entity\)](EntityView.EntityView.md#Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Base.Entity) 'Pf2eDataScrapper\.Helpers\.EntityView\.EntityView\(Pf2eModel\.Pf2eDbContext, Pf2eModel\.Model\.Base\.Entity\)') | Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными\. |
| [EntityView\(Pf2eDbContext, EntityType, int\)](EntityView.EntityView.md#Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int) 'Pf2eDataScrapper\.Helpers\.EntityView\.EntityView\(Pf2eModel\.Pf2eDbContext, Pf2eModel\.Model\.Enum\.EntityType, int\)') | Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными\. |
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Base.Entity)'></a>
## EntityView\(Pf2eDbContext, Entity\) Constructor
Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными\.
```csharp
public EntityView(Pf2eModel.Pf2eDbContext context, Pf2eModel.Model.Base.Entity entity);
```
#### Parameters
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Base.Entity).context'></a>
`context` [Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
Контекст базы данных\.
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Base.Entity).entity'></a>
`entity` [Pf2eModel\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Base.Entity 'Pf2eModel\.Model\.Base\.Entity')
Сущность, которую нужно обработать\.
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int)'></a>
## EntityView\(Pf2eDbContext, EntityType, int\) Constructor
Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными\.
```csharp
public EntityView(Pf2eModel.Pf2eDbContext context, Pf2eModel.Model.Enum.EntityType type, int id);
```
#### Parameters
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int).context'></a>
`context` [Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
Контекст базы данных\.
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int).type'></a>
`type` [Pf2eModel\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Enum.EntityType 'Pf2eModel\.Model\.Enum\.EntityType')
Тип запрашиваемой сущности\.
<a name='Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int).id'></a>
`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
Идентификатор запрашиваемой сущности\.
@@ -0,0 +1,27 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Helpers](Pf2eDataScrapper.Helpers.md 'Pf2eDataScrapper\.Helpers').[EntityView](EntityView.md 'Pf2eDataScrapper\.Helpers\.EntityView')
## EntityView\.GetEntity\(EntityType, int\) Method
Получает сущность из базы данных по типу и идентификатору\.
```csharp
private Pf2eModel.Model.Base.Entity GetEntity(Pf2eModel.Model.Enum.EntityType type, int id);
```
#### Parameters
<a name='Pf2eDataScrapper.Helpers.EntityView.GetEntity(Pf2eModel.Model.Enum.EntityType,int).type'></a>
`type` [Pf2eModel\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Enum.EntityType 'Pf2eModel\.Model\.Enum\.EntityType')
Тип сущности\.
<a name='Pf2eDataScrapper.Helpers.EntityView.GetEntity(Pf2eModel.Model.Enum.EntityType,int).id'></a>
`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
Идентификатор сущности\.
#### Returns
[Pf2eModel\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Base.Entity 'Pf2eModel\.Model\.Base\.Entity')
Сущность, соответствующая указанному типу и идентификатору\.
@@ -0,0 +1,27 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Helpers](Pf2eDataScrapper.Helpers.md 'Pf2eDataScrapper\.Helpers').[EntityView](EntityView.md 'Pf2eDataScrapper\.Helpers\.EntityView')
## EntityView\.GetSubEntity\(EntityType, int\) Method
Получает подчинённую сущность по типу и идентификатору\.
```csharp
private Pf2eModel.Model.IEntity? GetSubEntity(Pf2eModel.Model.Enum.EntityType type, int id);
```
#### Parameters
<a name='Pf2eDataScrapper.Helpers.EntityView.GetSubEntity(Pf2eModel.Model.Enum.EntityType,int).type'></a>
`type` [Pf2eModel\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Enum.EntityType 'Pf2eModel\.Model\.Enum\.EntityType')
Тип сущности\.
<a name='Pf2eDataScrapper.Helpers.EntityView.GetSubEntity(Pf2eModel.Model.Enum.EntityType,int).id'></a>
`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
Идентификатор сущности\.
#### Returns
[Pf2eModel\.Model\.IEntity](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.IEntity 'Pf2eModel\.Model\.IEntity')
Подчинённая сущность, соответствующая указанному типу и идентификатору\.
+8 -1
View File
@@ -13,7 +13,8 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
| [EntityView\(Pf2eDbContext, EntityType, int\)](EntityView.EntityView(Pf2eDbContext,EntityType,int).md 'Pf2eDataScrapper\.Helpers\.EntityView\.EntityView\(Pf2eModel\.Pf2eDbContext, Pf2eModel\.Model\.Enum\.EntityType, int\)') | Конструктор класса, который получает сущность из базы данных и заполняет её данными\. | | [EntityView\(Pf2eDbContext, Entity\)](EntityView.EntityView.md#Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Base.Entity) 'Pf2eDataScrapper\.Helpers\.EntityView\.EntityView\(Pf2eModel\.Pf2eDbContext, Pf2eModel\.Model\.Base\.Entity\)') | Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными\. |
| [EntityView\(Pf2eDbContext, EntityType, int\)](EntityView.EntityView.md#Pf2eDataScrapper.Helpers.EntityView.EntityView(Pf2eModel.Pf2eDbContext,Pf2eModel.Model.Enum.EntityType,int) 'Pf2eDataScrapper\.Helpers\.EntityView\.EntityView\(Pf2eModel\.Pf2eDbContext, Pf2eModel\.Model\.Enum\.EntityType, int\)') | Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными\. |
| Fields | | | Fields | |
| :--- | :--- | | :--- | :--- |
@@ -21,5 +22,11 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
| Properties | | | Properties | |
| :--- | :--- | | :--- | :--- |
| [Context](EntityView.Context.md 'Pf2eDataScrapper\.Helpers\.EntityView\.Context') | Контекст базы данных, используемый для получения сущностей\. |
| [Entity](EntityView.Entity.md 'Pf2eDataScrapper\.Helpers\.EntityView\.Entity') | Корневая сущность\. | | [Entity](EntityView.Entity.md 'Pf2eDataScrapper\.Helpers\.EntityView\.Entity') | Корневая сущность\. |
| [SubEntity](EntityView.SubEntity.md 'Pf2eDataScrapper\.Helpers\.EntityView\.SubEntity') | Основная сущность\. | | [SubEntity](EntityView.SubEntity.md 'Pf2eDataScrapper\.Helpers\.EntityView\.SubEntity') | Основная сущность\. |
| Methods | |
| :--- | :--- |
| [GetEntity\(EntityType, int\)](EntityView.GetEntity(EntityType,int).md 'Pf2eDataScrapper\.Helpers\.EntityView\.GetEntity\(Pf2eModel\.Model\.Enum\.EntityType, int\)') | Получает сущность из базы данных по типу и идентификатору\. |
| [GetSubEntity\(EntityType, int\)](EntityView.GetSubEntity(EntityType,int).md 'Pf2eDataScrapper\.Helpers\.EntityView\.GetSubEntity\(Pf2eModel\.Model\.Enum\.EntityType, int\)') | Получает подчинённую сущность по типу и идентификатору\. |
@@ -1,13 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
## FoundryEnCompendium\.Folders Property
Набор папок компендиума
```csharp
public Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolderCollection Folders { get; }
```
#### Property Value
[CompendiumFolderCollection](CompendiumFolderCollection.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection')
@@ -0,0 +1,17 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
## FoundryEnCompendium\(FoundryEnRepository\) Constructor
Загрузчик данных компендиума\.
```csharp
public FoundryEnCompendium(Pf2eDataScrapper.Importers.Implementations.FoundryEn.FoundryEnRepository repository);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.FoundryEnCompendium.FoundryEnCompendium(Pf2eDataScrapper.Importers.Implementations.FoundryEn.FoundryEnRepository).repository'></a>
`repository` [FoundryEnRepository](FoundryEnRepository.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository')
\<inheritdoc cref="T:Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository" /\>
@@ -1,23 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
## FoundryEnCompendium\(FoundryEnRepository, CompendiumFolderCollection\) Constructor
Загрузчик данных компендиума\.
```csharp
public FoundryEnCompendium(Pf2eDataScrapper.Importers.Implementations.FoundryEn.FoundryEnRepository repository, Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolderCollection folders);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.FoundryEnCompendium.FoundryEnCompendium(Pf2eDataScrapper.Importers.Implementations.FoundryEn.FoundryEnRepository,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolderCollection).repository'></a>
`repository` [FoundryEnRepository](FoundryEnRepository.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository')
Репозиторий данных\.
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.FoundryEnCompendium.FoundryEnCompendium(Pf2eDataScrapper.Importers.Implementations.FoundryEn.FoundryEnRepository,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.CompendiumFolderCollection).folders'></a>
`folders` [CompendiumFolderCollection](CompendiumFolderCollection.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection')
\[DI\] Коллекция папок компендиумов\.
@@ -13,11 +13,10 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
| [FoundryEnCompendium\(FoundryEnRepository, CompendiumFolderCollection\)](FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository,CompendiumFolderCollection).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.FoundryEnCompendium\(Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository, Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection\)') | Загрузчик данных компендиума\. | | [FoundryEnCompendium\(FoundryEnRepository\)](FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.FoundryEnCompendium\(Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository\)') | Загрузчик данных компендиума\. |
| Properties | | | Properties | |
| :--- | :--- | | :--- | :--- |
| [Folders](FoundryEnCompendium.Folders.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Folders') | Набор папок компендиума |
| [Items](FoundryEnCompendium.Items.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Items') | Коллекция всех записей компендиума\. | | [Items](FoundryEnCompendium.Items.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Items') | Коллекция всех записей компендиума\. |
| [Repository](FoundryEnCompendium.Repository.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Repository') | Репозиторий данных\. | | [Repository](FoundryEnCompendium.Repository.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Repository') | Репозиторий данных\. |
@@ -0,0 +1,13 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
## FoundryEnGlobals\.FoundryTarget Property
Цель внешних ссылок для Foundry En\.
```csharp
public Pf2eModel.Model.Base.Targets.ExternalTarget FoundryTarget { get; set; }
```
#### Property Value
[Pf2eModel\.Model\.Base\.Targets\.ExternalTarget](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Base.Targets.ExternalTarget 'Pf2eModel\.Model\.Base\.Targets\.ExternalTarget')
@@ -0,0 +1,16 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers')
## FoundryEnGlobals Class
Глобальные константы и утилиты для импорта данных в формате Foundry En\.
```csharp
internal class FoundryEnGlobals
```
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; FoundryEnGlobals
| Properties | |
| :--- | :--- |
| [FoundryTarget](FoundryEnGlobals.FoundryTarget.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.FoundryTarget') | Цель внешних ссылок для Foundry En\. |
@@ -6,10 +6,10 @@
Git\-репозиторий данных FoundryVTT\-модуля "pf2e"\. Git\-репозиторий данных FoundryVTT\-модуля "pf2e"\.
```csharp ```csharp
internal class FoundryEnRepository : Pf2eDataScrapper.Importers.Repositories.GitRepository internal class FoundryEnRepository : Pf2eDataScrapper.Importers.Repositories.AbstractGitHubRepository
``` ```
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; [AbstractImporterRepository](AbstractImporterRepository.md 'Pf2eDataScrapper\.Importers\.Repositories\.AbstractImporterRepository') &#129106; [GitRepository](GitRepository.md 'Pf2eDataScrapper\.Importers\.Repositories\.GitRepository') &#129106; FoundryEnRepository Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; [AbstractImporterRepository](AbstractImporterRepository.md 'Pf2eDataScrapper\.Importers\.Repositories\.AbstractImporterRepository') &#129106; [Pf2eDataScrapper\.Importers\.Repositories\.AbstractGitHubRepository](https://docs.microsoft.com/en-us/dotnet/api/Pf2eDataScrapper.Importers.Repositories.AbstractGitHubRepository 'Pf2eDataScrapper\.Importers\.Repositories\.AbstractGitHubRepository') &#129106; FoundryEnRepository
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
@@ -11,9 +11,6 @@ internal class GitRepository : Pf2eDataScrapper.Importers.Repositories.AbstractI
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; [AbstractImporterRepository](AbstractImporterRepository.md 'Pf2eDataScrapper\.Importers\.Repositories\.AbstractImporterRepository') &#129106; GitRepository Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') &#129106; [AbstractImporterRepository](AbstractImporterRepository.md 'Pf2eDataScrapper\.Importers\.Repositories\.AbstractImporterRepository') &#129106; GitRepository
Derived
&#8627; [FoundryEnRepository](FoundryEnRepository.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository')
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
| [GitRepository\(AbstractImporter, string\)](GitRepository.GitRepository(AbstractImporter,string).md 'Pf2eDataScrapper\.Importers\.Repositories\.GitRepository\.GitRepository\(Pf2eDataScrapper\.Importers\.AbstractImporter, string\)') | Репозиторий, загружающий данные из GIT\-источника\. | | [GitRepository\(AbstractImporter, string\)](GitRepository.GitRepository(AbstractImporter,string).md 'Pf2eDataScrapper\.Importers\.Repositories\.GitRepository\.GitRepository\(Pf2eDataScrapper\.Importers\.AbstractImporter, string\)') | Репозиторий, загружающий данные из GIT\-источника\. |
@@ -12,7 +12,6 @@ public interface IProcessor
Derived Derived
&#8627; [RulesOrderProcessor](RulesOrderProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules\.RulesOrderProcessor') &#8627; [RulesOrderProcessor](RulesOrderProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules\.RulesOrderProcessor')
&#8627; [RulesTocProcessor](RulesTocProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules\.RulesTocProcessor') &#8627; [RulesTocProcessor](RulesTocProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules\.RulesTocProcessor')
&#8627; [CompendiumFolderProcessor](CompendiumFolderProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.CompendiumFolderProcessor')
&#8627; [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.AbstractInputProcessor') &#8627; [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.AbstractInputProcessor')
&#8627; [AbstractSimpleProcessor](AbstractSimpleProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.AbstractSimpleProcessor') &#8627; [AbstractSimpleProcessor](AbstractSimpleProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.AbstractSimpleProcessor')
&#8627; [AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2eDataScrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor') &#8627; [AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2eDataScrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
@@ -6,11 +6,5 @@
| Classes | | | Classes | |
| :--- | :--- | | :--- | :--- |
| [CompendiumFolder](CompendiumFolder.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolder') | Папка компендиума\. |
| [CompendiumFolderCollection](CompendiumFolderCollection.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumFolderCollection') | Коллекция папок компендиума |
| [FoundryEnCompendium](FoundryEnCompendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium') | Загрузчик данных компендиума\. | | [FoundryEnCompendium](FoundryEnCompendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium') | Загрузчик данных компендиума\. |
| [FoundryEnCompendiumItem](FoundryEnCompendiumItem.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendiumItem') | Ссылка на сущность с указанием файла, в котором она хранится\. | | [FoundryEnCompendiumItem](FoundryEnCompendiumItem.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendiumItem') | Ссылка на сущность с указанием файла, в котором она хранится\. |
| Enums | |
| :--- | :--- |
| [CompendiumDocumentType](CompendiumDocumentType.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.CompendiumDocumentType') | Тип документов компендиума\. |
@@ -0,0 +1,7 @@
#### [Pf2eDataScrapper](index.md 'index')
## Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers Namespace
| Classes | |
| :--- | :--- |
| [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals') | Глобальные константы и утилиты для импорта данных в формате Foundry En\. |
@@ -6,6 +6,5 @@
| Classes | | | Classes | |
| :--- | :--- | | :--- | :--- |
| [CompendiumFolderProcessor](CompendiumFolderProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.CompendiumFolderProcessor') | |
| [SchemaBuildProcessor](SchemaBuildProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaBuildProcessor') | | | [SchemaBuildProcessor](SchemaBuildProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaBuildProcessor') | |
| [SchemaTypeResolver](SchemaTypeResolver.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaTypeResolver') | | | [SchemaTypeResolver](SchemaTypeResolver.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaTypeResolver') | |
@@ -0,0 +1,21 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation').[SchemaBuildProcessor](SchemaBuildProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaBuildProcessor')
## SchemaBuildProcessor\.GetSchemaNodes\(AbstractCompendiumItem\) Method
Получить список названий элементов структуры данных на основе вводимого элемента\.
```csharp
protected override System.Collections.Generic.ICollection<string> GetSchemaNodes(Pf2eDataScrapper.Importers.AbstractCompendiumItem item);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.SchemaBuildProcessor.GetSchemaNodes(Pf2eDataScrapper.Importers.AbstractCompendiumItem).item'></a>
`item` [AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2eDataScrapper\.Importers\.AbstractCompendiumItem')
Вводимый элемент
#### Returns
[System\.Collections\.Generic\.ICollection&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
Коллекция названий элементов структуры данных/
@@ -1,21 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation').[SchemaBuildProcessor](SchemaBuildProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaBuildProcessor')
## SchemaBuildProcessor\.GetSchemaNodes\(string\) Method
Выбор целевых элементом схемы данных для типа элемента\.
```csharp
private System.Collections.Generic.List<Pf2eDataScrapper.SchemaBuilder.SchemaNode> GetSchemaNodes(string type);
```
#### Parameters
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.SchemaBuildProcessor.GetSchemaNodes(string).type'></a>
`type` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
Тип входного элемента\.
#### Returns
[System\.Collections\.Generic\.List&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')[SchemaNode](SchemaNode.md 'Pf2eDataScrapper\.SchemaBuilder\.SchemaNode')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')
Список целевых элементов схемы данных\.
+1
View File
@@ -17,6 +17,7 @@
| [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.Types.Rules.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules') | Обработчики правил с сайта [Archives of Nethys Pathfinder 2e](https://aonprd.com/ 'https://aonprd\.com/')\. | | [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.Types.Rules.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules') | Обработчики правил с сайта [Archives of Nethys Pathfinder 2e](https://aonprd.com/ 'https://aonprd\.com/')\. |
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn](Pf2eDataScrapper.Importers.Implementations.FoundryEn.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn') | Импортёр данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. | | [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn](Pf2eDataScrapper.Importers.Implementations.FoundryEn.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn') | Импортёр данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium') | Компендиум данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. | | [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium') | Компендиум данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers') | |
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation') | Обработчики для подготовки данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. | | [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation') | Обработчики для подготовки данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
| [Pf2eDataScrapper\.Importers\.Repositories](Pf2eDataScrapper.Importers.Repositories.md 'Pf2eDataScrapper\.Importers\.Repositories') | Общее описание репозиториев для хранения данных, которые используются в импортёрах и процессорах\. | | [Pf2eDataScrapper\.Importers\.Repositories](Pf2eDataScrapper.Importers.Repositories.md 'Pf2eDataScrapper\.Importers\.Repositories') | Общее описание репозиториев для хранения данных, которые используются в импортёрах и процессорах\. |
| [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors') | Общее описание обработчиков данных\. | | [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors') | Общее описание обработчиков данных\. |
+6 -24
View File
@@ -40,56 +40,38 @@ public enum ActionCategory
Действие классовой черты\. Действие классовой черты\.
<a name='Pf2eModel.Model.Enum.ActionCategory.Offensive'></a>
`Offensive` 5
Действие атаки\.
<a name='Pf2eModel.Model.Enum.ActionCategory.Defensive'></a>
`Defensive` 6
Действие защиты\.
<a name='Pf2eModel.Model.Enum.ActionCategory.Interaction'></a>
`Interaction` 7
Действие взаимодействия\.
<a name='Pf2eModel.Model.Enum.ActionCategory.Familiar'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.Familiar'></a>
`Familiar` 8 `Familiar` 5
Действие фамильяра\. Действие фамильяра\.
<a name='Pf2eModel.Model.Enum.ActionCategory.ArmyTactic'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.ArmyTactic'></a>
`ArmyTactic` 9 `ArmyTactic` 6
Действие тактики армии\. Действие тактики армии\.
<a name='Pf2eModel.Model.Enum.ActionCategory.ArmyWarAction'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.ArmyWarAction'></a>
`ArmyWarAction` 10 `ArmyWarAction` 7
Действие войны армии\. Действие войны армии\.
<a name='Pf2eModel.Model.Enum.ActionCategory.KingdomActivity'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.KingdomActivity'></a>
`KingdomActivity` 11 `KingdomActivity` 8
Активность королевства\. Активность королевства\.
<a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeat'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeat'></a>
`KingdomFeat` 12 `KingdomFeat` 9
Действие черты королевства\. Действие черты королевства\.
<a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeature'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeature'></a>
`KingdomFeature` 13 `KingdomFeature` 10
Действие особенности королевства\. Действие особенности королевства\.
+8
View File
@@ -182,6 +182,14 @@ namespace Pf2eDataScrapper.WPF
internal static class NamespaceDoc { } internal static class NamespaceDoc { }
} }
namespace Pf2eDataScrapper.WPF.AuthForm
{
/// <summary>
/// WPF-приложение для авторизации пользователя во внешнем сервисе.
/// </summary>
internal static class NamespaceDoc { }
}
namespace Pf2eDataScrapper.WPF.EntityViewer namespace Pf2eDataScrapper.WPF.EntityViewer
{ {
/// <summary> /// <summary>
+53 -22
View File
@@ -18,7 +18,7 @@ public class EntityView
/// <summary> /// <summary>
/// Корневая сущность. /// Корневая сущность.
/// </summary> /// </summary>
public Entity? Entity { get; } public Entity Entity { get; }
/// <summary> /// <summary>
/// Основная сущность. /// Основная сущность.
@@ -26,34 +26,65 @@ public class EntityView
public IEntity? SubEntity { get; } public IEntity? SubEntity { get; }
/// <summary> /// <summary>
/// Конструктор класса, который получает сущность из базы данных и заполняет её данными. /// Контекст базы данных, используемый для получения сущностей.
/// </summary>
private Pf2eDbContext Context { get; }
/// <summary>
/// Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными.
/// </summary> /// </summary>
/// <param name="context">Контекст базы данных.</param> /// <param name="context">Контекст базы данных.</param>
/// <param name="type">Тип запрашиваемой сущности.</param> /// <param name="type">Тип запрашиваемой сущности.</param>
/// <param name="id">Идентификатор запрашиваемой сущности.</param> /// <param name="id">Идентификатор запрашиваемой сущности.</param>
public EntityView(Pf2eDbContext context, EntityType type, int id) public EntityView(Pf2eDbContext context, EntityType type, int id)
{
Context = context;
Entity = GetEntity(type, id);
SubEntity = GetSubEntity(type, id);
}
/// <summary>
/// Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными.
/// </summary>
/// <param name="context">Контекст базы данных.</param>
/// <param name="entity">Сущность, которую нужно обработать.</param>
public EntityView(Pf2eDbContext context, Entity entity)
{
Context = context;
Entity = entity;
SubEntity = GetSubEntity(entity.Type, entity.Id);
}
/// <summary>
/// Получает сущность из базы данных по типу и идентификатору.
/// </summary>
/// <param name="type">Тип сущности.</param>
/// <param name="id">Идентификатор сущности.</param>
/// <returns>Сущность, соответствующая указанному типу и идентификатору.</returns>
private Entity GetEntity(EntityType type, int id) =>
Context
.Entities.Where(e => e.Id == id && e.Type == type)
.Include(e => e.Sources)
.ThenInclude(s => s.Source)
.Include(e => e.Keywords)
.Include(e => e.Externals)
.ThenInclude(x => x.Target)
.Include(e => e.Traits)
.ThenInclude(t => t.Entity)
.FirstOrDefault() ?? throw new("Entity is null");
/// <summary>
/// Получает подчинённую сущность по типу и идентификатору.
/// </summary>
/// <param name="type">Тип сущности.</param>
/// <param name="id">Идентификатор сущности.</param>
/// <returns>Подчинённая сущность, соответствующая указанному типу и идентификатору.</returns>
private IEntity? GetSubEntity(EntityType type, int id)
{ {
Getter? getter = _getters.FirstOrDefault(g => g.Type == type); Getter? getter = _getters.FirstOrDefault(g => g.Type == type);
return (getter != null)
Entity fullEntity = ? getter.Get(id, this.Context)
context : (IEntity?)Context.Find(EntityOfTypeAttribute.Resolve(Entity), id);
.Entities.Where(e => e.Id == id && e.Type == type)
.Include(e => e.Sources)
.ThenInclude(s => s.Source)
.Include(e => e.Keywords)
.Include(e => e.Externals)
.ThenInclude(x => x.Target)
.Include(e => e.Traits)
.ThenInclude(t => t.Entity)
.FirstOrDefault() ?? throw new("Entity is null");
IEntity? subEntity =
(getter != null)
? getter.Get(id, context)
: (IEntity?)context.Find(EntityOfTypeAttribute.Resolve(fullEntity), id);
Entity = fullEntity;
SubEntity = subEntity;
} }
/// <summary> /// <summary>
@@ -55,7 +55,7 @@ internal sealed class AonprdCompendium(AonprdRepository repository) : AbstractCo
if ( if (
id is null id is null
|| !fileReferences.TryGetValue(id, out AonprdCompendiumItem? reference) || !fileReferences.TryGetValue(id, out AonprdCompendiumItem? reference)
|| !types.Contains(reference.Type) || (types.Count > 0 && !types.Contains(reference.Type))
) )
{ {
continue; continue;
@@ -36,9 +36,16 @@ internal abstract class AbstractEntityProcessor(
AonprdBuilderGlobals globals AonprdBuilderGlobals globals
) : AbstractInputProcessor(input) ) : AbstractInputProcessor(input)
{ {
/// <inheritdoc cref="Pf2eDbContext"/>
public Pf2eDbContext Context { get; } = new(); public Pf2eDbContext Context { get; } = new();
/// <inheritdoc cref="StringHelper"/>
public StringHelper StringHelper { get; } = stringHelper; public StringHelper StringHelper { get; } = stringHelper;
/// <inheritdoc cref="DatabaseHelper"/>
public DatabaseHelper Helper { get; } = helper; public DatabaseHelper Helper { get; } = helper;
/// <inheritdoc cref="AonprdBuilderGlobals"/>
public AonprdBuilderGlobals Globals { get; } = globals; public AonprdBuilderGlobals Globals { get; } = globals;
/// <summary> /// <summary>
@@ -86,7 +93,7 @@ internal abstract class AbstractEntityProcessor(
{ {
if (Globals.MergeSources.ContainsKey(Input.GetRequired<string>("id"))) if (Globals.MergeSources.ContainsKey(Input.GetRequired<string>("id")))
{ {
throw new SkipItemException(Input.GetRequired<string>("name"), "помечено на слияние."); throw new SkipItemException(GetEntityName(), "помечено на слияние.");
} }
} }
@@ -145,6 +152,12 @@ internal abstract class AbstractEntityProcessor(
#region "Генерация сущности" #region "Генерация сущности"
/// <summary>
/// Получает имя сущности из входных данных.
/// </summary>
/// <returns>Имя сущности.</returns>
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
/// <summary> /// <summary>
/// Генерация основных полей корневой сущности. /// Генерация основных полей корневой сущности.
/// </summary> /// </summary>
@@ -156,7 +169,7 @@ internal abstract class AbstractEntityProcessor(
} }
Entity.Type = Type; Entity.Type = Type;
Entity.Name[LocaleType.English] = Input.GetRequired<string>("name"); Entity.Name[LocaleType.English] = GetEntityName();
Entity.Img = ""; Entity.Img = "";
Entity.Description = GetDescription(); Entity.Description = GetDescription();
Entity.Rarity = Input.EnumOptional("rarity", EntityRarity.Common); Entity.Rarity = Input.EnumOptional("rarity", EntityRarity.Common);
@@ -1,17 +0,0 @@
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
/// <summary>
/// Тип документов компендиума.
/// </summary>
internal enum CompendiumDocumentType
{
Actor,
Adventure,
Cards,
Item,
JournalEntry,
Macro,
Playlist,
RollTable,
Scene,
}
@@ -1,88 +0,0 @@
using System;
using Newtonsoft.Json.Linq;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
/// <summary>
/// Папка компендиума.
/// </summary>
internal class CompendiumFolder
{
/// <summary>
/// Идентификатор папки.
/// </summary>
public string Id { get; }
/// <summary>
/// Название папки.
/// </summary>
public string Name { get; }
/// <summary>
/// Путь к папке.
/// </summary>
public string? Path { get; }
/// <summary>
/// Указатель, что папка содержится в других папках.
/// </summary>
public bool IsContained { get; }
/// <summary>
/// Тип документов в папке.
/// </summary>
public CompendiumDocumentType Type { get; }
/// <summary>
/// Родительская папка.
/// </summary>
public CompendiumFolder? Parent { get; set; } = null;
/// <summary>
/// Конструктор папки компендиума из JSON-объекта.
/// </summary>
/// <param name="json"></param>
public CompendiumFolder(JObject json)
{
if (json.TryGetValue("_id", out JToken? id))
{
// Вложенная папка через _folders.json
Id = id.ToString();
Name = json["name"]!.ToString();
Path = null;
IsContained = true;
}
else
{
// Корневой пак в system.json
Id = json["name"]!.ToString();
Name = json["label"]!.ToString();
Path = json["path"]!.ToString();
IsContained = false;
}
Type = Enum.Parse<CompendiumDocumentType>(json["type"]!.ToString());
}
/// <summary>
/// Конструктор папки компендиума.
/// </summary>
/// <param name="id">Идентификатор папки.</param>
/// <param name="name">Название папки.</param>
public CompendiumFolder(string id, string name)
{
Id = id;
Name = name;
Path = null;
IsContained = false;
}
/// <summary>
/// Строковое представление данных о папки компендиума.
/// </summary>
/// <returns>Строковое представление данных о папки компендиума.</returns>
public override string ToString()
{
return $"CompendiumFolder([Id={Id}][Type={Type}][Group={Name}][Path={Path}][Parent={Parent?.Name ?? "null"}])";
}
}
@@ -1,34 +0,0 @@
using System.Collections.Generic;
using System.Linq;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
/// <summary>
/// Коллекция папок компендиума
/// </summary>
internal class CompendiumFolderCollection
{
/// <summary>
/// Список загруженных папок.
/// </summary>
public List<CompendiumFolder> Items { get; } = [];
/// <summary>
/// Добавление информации о папке.
/// </summary>
/// <param name="folder">Добавляемая папка.</param>
public void Add(CompendiumFolder folder)
{
Items.Add(folder);
}
/// <summary>
/// Получение папки по идентификатору
/// </summary>
/// <param name="id">Искомый идентификатор</param>
/// <returns>Искомая папка</returns>
public CompendiumFolder? GetById(string id)
{
return Items.FirstOrDefault(x => x.Id == id);
}
}
@@ -10,21 +10,12 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
/// <summary> /// <summary>
/// Загрузчик данных компендиума. /// Загрузчик данных компендиума.
/// </summary> /// </summary>
/// <param name="repository">Репозиторий данных.</param> /// <param name="repository"><inheritdoc cref="FoundryEnRepository"/></param>
/// <param name="folders">[DI] Коллекция папок компендиумов.</param> internal sealed class FoundryEnCompendium(FoundryEnRepository repository) : AbstractCompendium
internal sealed class FoundryEnCompendium(
FoundryEnRepository repository,
CompendiumFolderCollection folders
) : AbstractCompendium
{ {
/// <inheritdoc/> /// <inheritdoc/>
public override FoundryEnRepository Repository { get; } = repository; public override FoundryEnRepository Repository { get; } = repository;
/// <summary>
/// Набор папок компендиума
/// </summary>
public CompendiumFolderCollection Folders { get; } = folders;
/// <summary> /// <summary>
/// Коллекция всех записей компендиума. /// Коллекция всех записей компендиума.
/// </summary> /// </summary>
@@ -39,17 +30,38 @@ internal sealed class FoundryEnCompendium(
params ICollection<string> types params ICollection<string> types
) )
{ {
foreach ( IEnumerable<string> files =
FoundryEnCompendiumItem item in types.Count == 0 types.Count == 0
? Items ? Items.Select(item => item.File).Distinct()
: Items.Where(i => types.Contains(i.Type)) : Items
) .Where(item => types.Contains(item.Type))
{ .Select(item => item.File)
using StreamReader fileReader = new( .Distinct();
Path.Combine(Repository.RepositoryDirPath, item.File)
);
yield return new(item, JObject.Parse(fileReader.ReadToEnd())); foreach (string file in files)
{
Dictionary<string, FoundryEnCompendiumItem> fileReferences = Items
.Where(i => i.File == file)
.ToDictionary(i => i.Id);
using StreamReader fileReader = new(file);
JArray array = JArray.Parse(fileReader.ReadToEnd());
foreach (JToken item in array)
{
string? id = item.SelectToken("_id")?.ToString();
if (
id is null
|| !fileReferences.TryGetValue(id, out FoundryEnCompendiumItem? reference)
|| (types.Count > 0 && !types.Contains(reference.Type))
)
{
continue;
}
yield return new(reference, (JObject)item);
}
} }
} }
} }
@@ -1,5 +1,6 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium; using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
using Pf2eDataScrapper.Importers.Repositories; using Pf2eDataScrapper.Importers.Repositories;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn; namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn;
@@ -32,7 +33,8 @@ internal class FoundryEnImporter : AbstractImporter
services.AddSingleton<FoundryEnRepository>(); services.AddSingleton<FoundryEnRepository>();
services.AddSingleton<FoundryEnCompendium>(); services.AddSingleton<FoundryEnCompendium>();
services.AddSingleton<CompendiumFolderCollection>(); // Помощники
services.AddSingleton<FoundryEnGlobals>();
} }
#endregion #endregion
@@ -42,7 +44,11 @@ internal class FoundryEnImporter : AbstractImporter
/// Git-репозиторий данных FoundryVTT-модуля "pf2e". /// Git-репозиторий данных FoundryVTT-модуля "pf2e".
/// </summary> /// </summary>
/// <param name="importer"><inheritdoc cref="FoundryEnImporter"/></param> /// <param name="importer"><inheritdoc cref="FoundryEnImporter"/></param>
internal class FoundryEnRepository(FoundryEnImporter importer) : GitRepository(importer, GitUrl) internal class FoundryEnRepository(FoundryEnImporter importer) : AbstractGitHubRepository(importer)
{ {
public const string GitUrl = "https://github.com/foundryvtt/pf2e.git"; /// <inheritdoc/>
public override string Repository => "foundryvtt/pf2e";
/// <inheritdoc/>
public override string AssetName => "json-assets.zip";
} }
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Pf2eModel.Model.Base.Source;
using Pf2eModel.Model.Base.Targets;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
/// <summary>
/// Глобальные константы и утилиты для импорта данных в формате Foundry En.
/// </summary>
internal class FoundryEnGlobals
{
/// <summary>
/// Цель внешних ссылок для Foundry En.
/// </summary>
public ExternalTarget FoundryTarget { get; set; } = null!;
}
@@ -1,8 +1,7 @@
using Newtonsoft.Json.Linq; using Pf2eDataScrapper.Helpers;
using Pf2eDataScrapper.Helpers; using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
using Pf2eDataScrapper.Processors; using Pf2eDataScrapper.Processors;
using Pf2eDataScrapper.Processors.Attributes; using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Collection;
using Pf2eModel; using Pf2eModel;
using Pf2eModel.Model.Enum; using Pf2eModel.Model.Enum;
@@ -16,30 +15,24 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
Group = ProcessorGroupEnum.FoundryEnEntities, Group = ProcessorGroupEnum.FoundryEnEntities,
Active = false Active = false
)] )]
[ProcessorDependencies(["foundry-en:compendium"])] [ProcessorDependencies(["foundry-en:compendium", "foundry-en:external"])]
internal class ActionProcessor( internal class ActionProcessor(
DatabaseHelper databaseHelper, DatabaseHelper databaseHelper,
Pf2eDbContext context, Pf2eDbContext context,
FoundryEnGlobals enGlobals,
ProcessorInput input ProcessorInput input
) : FoundryEnAbstractProcessor(databaseHelper, context, input) )
: FoundryEnAbstractProcessor<Pf2eModel.Model.Structure.Action>(
databaseHelper,
context,
enGlobals,
input
)
{ {
public override EntityType Type => EntityType.Action; public override EntityType Type => EntityType.Action;
public override Pf2eModel.Model.Structure.Action Object { get; } = new();
public override void Process() public override void Process()
{ {
base.Process(); base.Process();
/*
Object.Type = EnumRequired<ActionType>("system.actionType.value");
Object.Category = EnumOptional<ActionCategory>("system.category", ActionCategory.Unknown);
Object.Actions = GetOptional<int>("system.actions.value");
Object.DeathNote = GetOptional<bool>("system.deathNote");
*/
JObject extra = new() { { "selfEffect", Input.Input.SelectToken("system.selfEffect") } };
Object.Extra = extra.ToString(Newtonsoft.Json.Formatting.None);
Context.Actions.Add(Object);
} }
} }
@@ -1,5 +1,6 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Helpers; using Pf2eDataScrapper.Helpers;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
using Pf2eDataScrapper.Processors; using Pf2eDataScrapper.Processors;
using Pf2eDataScrapper.Processors.Attributes; using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Collection; using Pf2eDataScrapper.Processors.Collection;
@@ -21,17 +22,16 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
internal class ConditionProcessor( internal class ConditionProcessor(
DatabaseHelper databaseHelper, DatabaseHelper databaseHelper,
Pf2eDbContext context, Pf2eDbContext context,
FoundryEnGlobals enGlobals,
ProcessorInput input ProcessorInput input
) : FoundryEnAbstractProcessor(databaseHelper, context, input) ) : FoundryEnAbstractProcessor<Condition>(databaseHelper, context, enGlobals, input)
{ {
public override EntityType Type => EntityType.Condition; public override EntityType Type => EntityType.Condition;
public override Condition Object { get; } = new();
public override void Process() public override void Process()
{ {
base.Process(); base.Process();
/*
JObject extra = new() JObject extra = new()
{ {
{ "duration", Input.Input.SelectToken("system.duration") }, { "duration", Input.Input.SelectToken("system.duration") },
@@ -44,5 +44,6 @@ internal class ConditionProcessor(
Object.Group = Input.EnumOptional("system.group", ConditionGroup.Unknown); Object.Group = Input.EnumOptional("system.group", ConditionGroup.Unknown);
Context.Conditions.Add(Object); Context.Conditions.Add(Object);
*/
} }
} }
@@ -1,184 +1,162 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Security.Cryptography;
using System.Text;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Helpers; using Pf2eDataScrapper.Helpers;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
using Pf2eDataScrapper.Processors; using Pf2eDataScrapper.Processors;
using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Definitions; using Pf2eDataScrapper.Processors.Definitions;
using Pf2eModel; using Pf2eModel;
using Pf2eModel.Model; using Pf2eModel.Model;
using Pf2eModel.Model.Base; using Pf2eModel.Model.Base;
using Pf2eModel.Model.Base.Source;
using Pf2eModel.Model.Base.Targets; using Pf2eModel.Model.Base.Targets;
using Pf2eModel.Model.Common.I18n; using Pf2eModel.Model.Common.I18n;
using Pf2eModel.Model.Enum; using Pf2eModel.Model.Enum;
using Pf2eModel.Model.Structure;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors; namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors;
internal abstract class FoundryEnAbstractProcessor( /// <summary>
/// Абстрактный класс-обработчик сущностей, полученных из молуля Foundry pf2e.
/// Класс предназначен для обработки данных с помощью различных обработчиков,
/// для которых указан атрибут <see cref="ProcessorAttribute"/>.
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <param name="databaseHelper">[DI] <inheritdoc cref="DatabaseHelper"/></param>
/// <param name="context">[DI] <inheritdoc cref="Pf2eDbContext"/></param>
/// <param name="enGlobals">[DI] <inheritdoc cref="FoundryEnGlobals"/></param>
/// <param name="input">Объект обработки вводимого JSON.</param>
internal abstract class FoundryEnAbstractProcessor<TEntity>(
DatabaseHelper databaseHelper, DatabaseHelper databaseHelper,
Pf2eDbContext context, Pf2eDbContext context,
FoundryEnGlobals enGlobals,
ProcessorInput input ProcessorInput input
) : AbstractInputProcessor(input) ) : AbstractInputProcessor(input)
where TEntity : class, IEntity
{ {
/// <inheritdoc cref="DatabaseHelper"/>
protected DatabaseHelper Helper { get; } = databaseHelper; protected DatabaseHelper Helper { get; } = databaseHelper;
/// <inheritdoc cref="Pf2eDbContext"/>
public Pf2eDbContext Context { get; } = context; public Pf2eDbContext Context { get; } = context;
public Entity Entity { get; set; } = new(); /// <inheritdoc cref="FoundryEnGlobals"/>
public FoundryEnGlobals EnGlobals { get; } = enGlobals;
/// <summary>
/// Тип сущности.
/// </summary>
public abstract EntityType Type { get; } public abstract EntityType Type { get; }
public abstract IEntity Object { get; } /// <summary>
/// Представление сущности, которое будет использоваться для обработки данных.
/// </summary>
public EntityView View { get; private set; } = null!;
public override void Process() /// <summary>
/// Основная сущность, которая будет использоваться для обработки данных.
/// </summary>
public Entity Entity => View.Entity;
/// <summary>
/// Подчинённая сущность, которая будет использоваться для обработки данных.
/// </summary>
public TEntity Object =>
View.SubEntity as TEntity
?? throw new InvalidOperationException(
$"Сущность {View.SubEntity} некорректного типа, ожидался тип {typeof(TEntity)}."
);
/// <summary>
/// Разрешает сущность, основываясь на входных данных.
/// </summary>
/// <returns>Идентификатор сущности.</returns>
public virtual int ResolveEntity()
{ {
Entity.Id = Helper.NextEntityId; string name = GetEntityName();
Entity.Type = Type;
Entity.Name[LocaleType.English] = Input.GetRequired<string>("name"); try
Entity.Img = Input.GetRequired<string>("img");
Entity.Description = Input.GetRequired<string>("system.description.value");
Entity.IsTranslated = false;
Entity.IsChecked = false;
Entity.Slug = Helper.GenerateSlug(Entity.Name[LocaleType.English]);
Entity.Rarity = Input.EnumOptional("system.traits.rarity", EntityRarity.Common);
Object.Id = Entity.Id;
Context.Entities.Add(Entity);
// Alias
/*
EntityAlias alias = new()
{ {
Type = LocaleType.English, List<Entity> entities = Context
Alias = Entity.Group, .Entities.AsNoTracking()
LegacyId = Entity.Id, .Include(e => e.Traits)
Entity = Entity .ThenInclude(t => t.Entity)
}; .Where(e => Pf2eDbContext.LocaleSearch(e.Name, name) && e.Type == Type)
Context.EntityAliases.Add(alias); .ToList();
*/
// Source switch (entities.Count)
EntitySource source = new() {
case 0:
throw new("сущность не найдена.");
case 1:
return entities[0].Id;
}
List<string> inputTraits = Input
.GetRequired<JArray>("system.traits.value")
.Select(token => token.ToString())
.Order()
.ToList();
foreach (Entity entity in entities)
{
List<string> entityTraits = entity
.Traits.Select(t => t.Entity.Name[LocaleType.English])
.Order()
.ToList();
if (entityTraits.SequenceEqual(inputTraits))
{
return entity.Id;
}
}
}
catch (Exception ex)
{ {
Entity = Entity, throw new SkipItemException(name, ex.Message);
Source = GetSource(Input.GetRequired<string>("system.publication.title")),
Suffix = "",
IsRemaster = Input.GetRequired<bool>("system.publication.remaster"),
};
Context.EntitySources.Add(source);
// External
EntityExternal external = new()
{
Entity = Entity,
Target = GetTarget(),
Suffix = Input.GetRequired<string>("_id"),
Md5 = Md5(Input.Input.ToString()),
};
Context.EntityExternals.Add(external);
// Traits
JToken? traitsJson = Input.Input.SelectToken("system.traits.value");
if (traitsJson?.Type != JTokenType.Array)
{
throw new Exception("system.traits.value is expected to be an array");
} }
foreach (Trait trait in GetTraits(traitsJson.ToArray().Select(jToken => jToken.ToString()))) throw new SkipItemException(
{ name,
Entity.Traits.Add(trait); $"Несколько сущностей \"{name}\" найдено, но ни одна не совпадает с входными данными по признакам."
} );
} }
/// <inheritdoc/>
public override void Process()
{
View = new(Context, Type, ResolveEntity());
AddExternal();
}
/// <inheritdoc/>
public override void Save() public override void Save()
{ {
Context.SaveChanges(); Context.SaveChanges();
} }
protected Source GetSource(string name) /// <summary>
/// Получает имя сущности из входных данных.
/// </summary>
/// <returns>Имя сущности.</returns>
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
/// <summary>
/// Генерация внешних ссылок сущности.
/// </summary>
protected virtual void AddExternal()
{ {
Source? source = Context.Sources.FirstOrDefault(s => s.Name == name); // External
EntityExternal external = new()
if (source != null)
{ {
return source; EntityId = Entity.Id,
} TargetId = EnGlobals.FoundryTarget.Id,
ExternalId = Input.GetOptional<string>("_id"),
source = new() { Name = name }; Suffix = Input.GetRequired<string>("_id"),
Md5 = Input.Md5(),
Context.Sources.Add(source);
return source;
}
protected ExternalTarget GetTarget()
{
const string name = "pf2e - Foundry module";
ExternalTarget? target = Context.ExternalTargets.FirstOrDefault(s => s.Name == name);
if (target != null)
{
return target;
}
target = new()
{
Name = "pf2e - Foundry module",
Icon = "",
Prefix = "https://github.com/foundryvtt/pf2e",
}; };
Context.EntityExternals.Add(external);
Context.ExternalTargets.Add(target);
return target;
}
protected IEnumerable<Trait> GetTraits(IEnumerable<string> names)
{
List<Trait> result = Context
.Traits.Include(t => t.Entity)
.ThenInclude(e => e.Name)
// ReSharper disable once EntityFramework.UnsupportedServerSideFunctionCall
.Where(t => Pf2eDbContext.LocaleSearchArray(t.Entity.Name, names))
.ToList();
/*
foreach (string name in names)
{
if (result.Any(t => t.Entity.Group.Contains(name)))
{
continue;
}
Trait trait = new()
{
Group = name,
Slug = name,
Type = TraitType.Regular,
Description = "",
};
Context.Traits.Add(trait);
result.Add(trait);
}
*/
return result;
}
public static string Md5(string input, bool isLowercase = false)
{
using MD5 md5 = MD5.Create();
byte[] byteHash = md5.ComputeHash(Encoding.UTF8.GetBytes(input));
string hash = BitConverter.ToString(byteHash).Replace("-", "");
return isLowercase ? hash.ToLower() : hash;
} }
} }
@@ -1,125 +0,0 @@
using System.IO;
using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Definitions;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation;
[Processor(
"foundry-en:compendium-folders",
Description = "Загрузка каталогов компендиума",
Group = ProcessorGroupEnum.FoundryEnPreparation,
Active = false
)]
[ProcessorDependencies(["foundry-en:repository"])]
internal class CompendiumFolderProcessor(
FoundryEnRepository repository,
CompendiumFolderCollection folders
) : IProcessor
{
private FoundryEnRepository Repository { get; } = repository;
private CompendiumFolderCollection Folders { get; } = folders;
private string Dir => Repository.RepositoryDirPath;
private int NextFolderId { get; set; }
public void Process()
{
LoadPacks();
ScanFolders();
}
/// <summary>
/// Загрузка основных папок.
/// </summary>
private void LoadPacks()
{
using StreamReader systemFile = new(Path.Combine(Dir, "static", "system.json"));
JObject systemData = JObject.Parse(systemFile.ReadToEnd());
foreach (JToken pack in systemData["packs"]!)
{
CompendiumFolder folder = new((JObject)pack);
Folders.Add(folder);
}
if (systemData.TryGetValue("packFolders", out JToken? packFolders))
{
ProcessPackFolders((JArray)packFolders, null);
}
}
/// <summary>
/// Обработка папок компендиума в поле `packFolders`.
/// </summary>
/// <param name="folders"></param>
/// <param name="parent"></param>
private void ProcessPackFolders(JArray folders, CompendiumFolder? parent)
{
foreach (JToken token in folders)
{
JObject obj = (JObject)token;
string id = $"folder-{NextFolderId++}";
string name = obj["name"]!.ToString();
CompendiumFolder folder = new(id, name) { Parent = parent };
Folders.Add(folder);
if (obj.TryGetValue("packs", out JToken? packs))
{
foreach (JToken jToken in packs)
{
string packId = jToken.ToString();
CompendiumFolder? child = Folders.GetById(packId);
if (child is not null)
{
child.Parent = folder;
}
}
}
if (obj.TryGetValue("folders", out JToken? innerFolders))
{
ProcessPackFolders((JArray)innerFolders, folder);
}
}
}
private void ScanFolders()
{
// Поиск _folders.json
foreach (CompendiumFolder parent in Folders.Items)
{
if (parent.Path is null)
{
continue;
}
string dirPath = Path.Combine(Dir, parent.Path);
foreach (
string foldersFilePath in Directory.GetFiles(
dirPath,
"_folders.json",
SearchOption.AllDirectories
)
)
{
using StreamReader file = new(foldersFilePath);
JArray data = JArray.Parse(file.ReadToEnd());
foreach (JToken pack in data)
{
CompendiumFolder folder = new((JObject)pack) { Parent = parent };
Folders.Add(folder);
}
}
}
}
public void Save() { }
}
@@ -1,109 +0,0 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Helpers;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Definitions;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation;
[Processor(
"foundry-en:compendium",
Description = "Загрузка компендиума",
Group = ProcessorGroupEnum.FoundryEnPreparation,
Active = false
)]
[ProcessorDependencies(["foundry-en:compendium-folders"])]
internal class CompendiumItemsProcessor(
FoundryEnRepository repository,
FoundryEnCompendium compendium,
ProcessProgress progress
) : IProcessor
{
private FoundryEnRepository Repository { get; } = repository;
private FoundryEnCompendium Compendium { get; } = compendium;
public ProcessProgress Progress { get; } = progress;
private string Dir => Repository.RepositoryDirPath;
private List<CompendiumFolder> RootFolders { get; } =
compendium.Folders.Items.FindAll(f => f.Path != null);
public void Process()
{
Progress.Local.Reset(CountItems());
foreach (CompendiumFolder folder in RootFolders)
{
string dirPath = Path.Combine(Dir, folder.Path!);
foreach (
string filePath in Directory.GetFiles(
dirPath,
"*.json",
SearchOption.AllDirectories
)
)
{
string relativePath = Path.GetRelativePath(filePath, Dir);
Progress.Local.Start(relativePath);
FoundryEnCompendiumItem? item = ProcessFile(relativePath, folder);
if (item is not null)
{
Compendium.Items.Add(item);
}
Progress.Local.End();
}
}
Progress.Local.Complete();
}
private FoundryEnCompendiumItem? ProcessFile(string relativePath, CompendiumFolder folder)
{
FileInfo file = new(Path.Combine(Dir, relativePath));
if (file.Name == "_folders.json")
{
return null;
}
using StreamReader reader = new(file.FullName);
JObject itemJson = JObject.Parse(reader.ReadToEnd());
CompendiumFolder? itemFolder = folder;
JToken? itemJsonFolder = itemJson.SelectToken("folder");
if (itemJsonFolder is not null)
{
itemFolder = Compendium.Folders.GetById(itemJsonFolder.ToString());
}
if (itemFolder is null)
{
throw new(
$"Не удаётся определить папку, к которой относится элемент {file.Name} (путь: {file.FullName})"
);
}
string? type = itemJson.SelectToken("type")?.ToString();
return new(file.Name, itemFolder.Type + (type is not null ? $".{type}" : ""), relativePath);
}
private int CountItems()
{
return RootFolders.Sum(folder =>
{
string dirPath = Path.Combine(Dir, folder.Path!);
return Directory.GetFiles(dirPath, "*.json", SearchOption.AllDirectories).Length
- Directory.GetFiles(dirPath, "_folders.json", SearchOption.AllDirectories).Length;
});
}
public void Save() { }
}
@@ -0,0 +1,72 @@
using System;
using System.IO;
using System.Text;
using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Helpers;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Definitions;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation;
[Processor(
"foundry-en:compendium",
Description = "Загрузка компендиума",
Group = ProcessorGroupEnum.FoundryEnPreparation,
Active = false
)]
[ProcessorDependencies(["foundry-en:repository"])]
internal class CompendiumProcessor(
FoundryEnRepository repository,
FoundryEnCompendium compendium,
ProcessProgress progress
) : IProcessor
{
public FoundryEnRepository Repository { get; } = repository;
public FoundryEnCompendium Compendium { get; } = compendium;
public ProcessProgress Progress { get; } = progress;
public void Process()
{
string packsDir = Path.Combine(Repository.RepositoryDirPath, "packs");
var jsonFiles = Directory.GetFiles(packsDir, "*.json");
Progress.Local.Reset(jsonFiles.Length);
foreach (string packFile in jsonFiles)
{
Progress.Local.Start(Path.GetFileName(packFile));
if (packFile.EndsWith("folders.json", StringComparison.OrdinalIgnoreCase))
{
Progress.Local.End();
continue;
}
using StreamReader fileReader = new(packFile, Encoding.UTF8);
string fileContent = fileReader.ReadToEnd();
JArray packData = JArray.Parse(fileContent);
foreach (JToken item in packData)
{
string id = item.SelectToken("_id")?.ToString()!;
string? type = item.SelectToken("type")?.ToString();
if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(type))
{
continue;
}
FoundryEnCompendiumItem compendiumItem = new(id, type, packFile);
Compendium.Items.Add(compendiumItem);
}
Progress.Local.End();
}
Progress.Local.Complete();
}
public void Save() { }
}
@@ -0,0 +1,40 @@
using Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
using Pf2eDataScrapper.Processors.Attributes;
using Pf2eDataScrapper.Processors.Definitions;
using Pf2eModel;
using Pf2eModel.Model.Base.Targets;
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation;
[Processor(
"foundry-en:external",
Description = "Создание цели внешних ссылок",
Group = ProcessorGroupEnum.FoundryEnPreparation
)]
[ProcessorDependencies(["foundry-en:repository"])]
internal class ExternalProcessor(FoundryEnGlobals enGlobals) : AbstractSimpleProcessor
{
public Pf2eDbContext Context { get; } = new();
public FoundryEnGlobals EnGlobals { get; } = enGlobals;
public ExternalTarget FoundryTarget = null!;
public override void Process()
{
FoundryTarget = new()
{
Name = FoundryEnImporter.TargetName,
Icon = "http://www.google.com/s2/favicons?domain=foundryvtt.com",
Prefix = "",
};
}
public override void Save()
{
Context.ExternalTargets.Add(FoundryTarget);
Context.SaveChanges();
EnGlobals.FoundryTarget = FoundryTarget;
}
}
@@ -52,43 +52,17 @@ internal class SchemaBuildProcessor(
/// </summary> /// </summary>
private readonly string[] _equipmentTypes = private readonly string[] _equipmentTypes =
[ [
"Item.equipment", "equipment",
"Item.armor", "armor",
"Item.backpack", "backpack",
"Item.consumable", "consumable",
"Item.kit", "kit",
"Item.shield", "shield",
"Item.treasure", "treasure",
"Item.weapon", "weapon",
]; ];
/// <summary> /// <inheritdoc/>
/// Выбор целевых элементом схемы данных для типа элемента.
/// </summary>
/// <param name="type">Тип входного элемента.</param>
/// <returns>Список целевых элементов схемы данных.</returns>
private List<SchemaNode> GetSchemaNodes(string type)
{
List<SchemaNode> nodes = [];
// Общая нода
if (!Schemas.TryGetValue(type, out SchemaNode? typeNode))
{
typeNode = new() { Resolver = Resolver, Path = type };
Schemas[type] = typeNode;
}
nodes.Add(typeNode);
// Нода подкласса
if (_equipmentTypes.Contains(type))
{
nodes.Add(Schemas["Equipment"]);
}
return nodes;
}
protected override ICollection<string> GetSchemaNodes(AbstractCompendiumItem item) protected override ICollection<string> GetSchemaNodes(AbstractCompendiumItem item)
{ {
List<string> nodes = [item.Type]; List<string> nodes = [item.Type];
@@ -96,7 +70,7 @@ internal class SchemaBuildProcessor(
// Нода подкласса // Нода подкласса
if (_equipmentTypes.Contains(item.Type)) if (_equipmentTypes.Contains(item.Type))
{ {
nodes.Add("Equipment"); nodes.Add("_equipment");
} }
return nodes; return nodes;
@@ -17,27 +17,27 @@ internal class SchemaTypeResolver : TypeResolver
protected readonly List<string> DictionaryPaths = protected readonly List<string> DictionaryPaths =
[ [
"Actor.character.items.[].system.items", "character.items.[].system.items",
"Actor.character.items.[].system.overlays", "character.items.[].system.overlays",
"Item.ancestry.system.items", "ancestry.system.items",
"Item.ancestry.system.boosts", "ancestry.system.boosts",
"Item.background.system.boosts", "background.system.boosts",
"Item.background.system.items", "background.system.items",
"Item.class.system.items", "class.system.items",
"Item.consumable.system.spell.system.damage", "consumable.system.spell.system.damage",
"Item.consumable.system.spell.system.overlays", "consumable.system.spell.system.overlays",
"Item.deity.system.spells", "deity.system.spells",
"Item.feat.system.subfeatures.proficiencies", "feat.system.subfeatures.proficiencies",
"Item.kit.system.items", "kit.system.items",
"Item.kit.system.items.[value].items", "kit.system.items.[value].items",
"Item.spell.system.damage", "spell.system.damage",
"Item.spell.system.heightening.damage", "spell.system.heightening.damage",
"Item.spell.system.heightening.levels", "spell.system.heightening.levels",
"Item.spell.system.heightening.levels.[value].damage", "spell.system.heightening.levels.[value].damage",
"Item.spell.system.overlays", "spell.system.overlays",
"Item.spell.system.overlays.[value].system.damage", "spell.system.overlays.[value].system.damage",
"Item.spell.system.overlays.[value].system.heightening", "spell.system.overlays.[value].system.heightening",
"Item.spell.system.overlays.[value].system.heightening.[value]", "spell.system.overlays.[value].system.heightening.[value]",
]; ];
/// <summary> /// <summary>
@@ -0,0 +1,150 @@
using System;
using System.IO;
using System.IO.Compression;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Helpers;
namespace Pf2eDataScrapper.Importers.Repositories;
internal abstract class AbstractGitHubRepository(AbstractImporter importer)
: AbstractImporterRepository(importer)
{
public abstract string Repository { get; }
public abstract string AssetName { get; }
public override void Update(ProcessProgress progress)
{
ReleaseInformation releaseInformation = GetReleaseInformation();
string? currentVersion = GetCurrentVersion();
if (currentVersion == releaseInformation.TagName)
{
progress.Local.Complete();
progress.Information(
$"Данные {Repository} актуальны, текущая версия {currentVersion}."
);
return;
}
progress.Information(
$"Данные {Repository} устарели, обновляем {RepositoryDirPath} до версии {releaseInformation.TagName}..."
);
string assetFile = DownloadAsset(progress, releaseInformation);
ExtractAsset(assetFile, RepositoryDirPath, progress);
File.WriteAllText(
Path.Combine(RepositoryDirPath, "version.txt"),
releaseInformation.TagName
);
}
private ReleaseInformation GetReleaseInformation()
{
string releasesUrl = $"https://api.github.com/repos/{Repository}/releases/latest";
using HttpClient client = new();
client.DefaultRequestHeaders.UserAgent.Add(
new ProductInfoHeaderValue("Pf2eDataScrapper", "1.0")
);
string json = client.GetStringAsync(releasesUrl).Result;
JObject jObject = JObject.Parse(json);
return new()
{
TagName = jObject.SelectToken("tag_name")!.ToObject<string>()!,
DownloadUrl = jObject
.SelectToken("assets[?(@.name == '" + AssetName + "')].browser_download_url")!
.ToObject<string>()!,
Size = jObject
.SelectToken("assets[?(@.name == '" + AssetName + "')].size")!
.ToObject<int>()!,
};
}
private string? GetCurrentVersion()
{
string versionFilePath = Path.Combine(RepositoryDirPath, "version.txt");
if (File.Exists(versionFilePath))
{
return File.ReadAllText(versionFilePath).Trim();
}
return null;
}
private string DownloadAsset(ProcessProgress progress, ReleaseInformation releaseInformation)
{
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".zip";
using var fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
progress.Local.Reset(releaseInformation.Size);
progress.Local.Start(
$"[1/2] Загрузка {releaseInformation.TagName} ({releaseInformation.Size / 1024 / 1024} МБ)..."
);
Task.Run(async () =>
{
using HttpClient client = new();
using var response = await client.GetAsync(
releaseInformation.DownloadUrl,
HttpCompletionOption.ResponseHeadersRead
);
using var download = await response.Content.ReadAsStreamAsync();
var buffer = new byte[81920];
int bytesRead;
var t = CancellationToken.None;
while ((bytesRead = await download.ReadAsync(buffer, t).ConfigureAwait(false)) != 0)
{
await fileStream
.WriteAsync(buffer.AsMemory(0, bytesRead), t)
.ConfigureAwait(false);
progress.Local.Current += bytesRead;
}
})
.Wait();
progress.Local.Complete();
return fileName;
}
private void ExtractAsset(string assetFile, string targetDir, ProcessProgress progress)
{
using var zip = ZipFile.OpenRead(assetFile);
progress.Local.Reset(zip.Entries.Count);
progress.Local.Start("[2/2] Распаковка архива...");
foreach (var entry in zip.Entries)
{
if (string.IsNullOrEmpty(entry.Name))
continue; // Skip directories
string destinationPath = Path.Combine(targetDir, entry.FullName);
string directoryPath = Path.GetDirectoryName(destinationPath)!;
if (!Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
entry.ExtractToFile(destinationPath, true);
progress.Local.Current++;
}
progress.Local.Complete();
}
private class ReleaseInformation
{
public string TagName { get; init; } = null!;
public string DownloadUrl { get; init; } = null!;
public int Size { get; init; } = 0;
}
}
+2 -1
View File
@@ -17,7 +17,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="AngleSharp" Version="1.3.0" /> <PackageReference Include="AngleSharp" Version="1.3.0" />
<PackageReference Include="DefaultDocumentation" Version="1.0.2" PrivateAssets="all" /> <PackageReference Include="DefaultDocumentation" Version="1.1.0" PrivateAssets="all" />
<PackageReference Include="dotenv.net" Version="3.2.1" /> <PackageReference Include="dotenv.net" Version="3.2.1" />
<PackageReference Include="EFCore.NamingConventions" Version="9.0.0" /> <PackageReference Include="EFCore.NamingConventions" Version="9.0.0" />
<PackageReference Include="FontAwesome.Sharp" Version="6.6.0" /> <PackageReference Include="FontAwesome.Sharp" Version="6.6.0" />
@@ -27,6 +27,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3240.44" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Npgsql" Version="9.0.3" /> <PackageReference Include="Npgsql" Version="9.0.3" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
@@ -49,7 +49,7 @@ internal abstract class AbstractSchemaBuildProcessor : IProcessor
foreach ((AbstractCompendiumItem reference, JObject json) in Compendium.Iterate()) foreach ((AbstractCompendiumItem reference, JObject json) in Compendium.Iterate())
{ {
Progress.Local.Start(reference.ToString()!); Progress.Local.Start(reference.ToString());
foreach (string nodeName in GetSchemaNodes(reference)) foreach (string nodeName in GetSchemaNodes(reference))
{ {
-18
View File
@@ -37,24 +37,6 @@ public enum ActionCategory
[PgName("class-feat")] [PgName("class-feat")]
ClassFeat, ClassFeat,
/// <summary>
/// Действие атаки.
/// </summary>
[PgName("offensive")]
Offensive,
/// <summary>
/// Действие защиты.
/// </summary>
[PgName("defensive")]
Defensive,
/// <summary>
/// Действие взаимодействия.
/// </summary>
[PgName("interaction")]
Interaction,
/// <summary> /// <summary>
/// Действие фамильяра. /// Действие фамильяра.
/// </summary> /// </summary>
File diff suppressed because it is too large Load Diff
@@ -1,279 +1,351 @@
name: Item.action name: action
values: 1170 values: 1169
schema: schema:
'_id': '_id':
type: string type: string
path: Item.action._id path: action._id
is_null: false is_null: false
values: 1170 values: 1169
different_values: 1170 (all different) different_values: 1169 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: action._stats
is_null: false
values: 1169
schema:
'compendiumSource':
type: string
path: action._stats.compendiumSource
is_null: false
values: 1169
different_values: 1169 (all different)
variants: [omitted]
'coreVersion':
type: string
path: action._stats.coreVersion
is_null: false
values: 1169
different_values: 1 (all same)
variants: "13.344" (x1169)
'systemId':
type: string
path: action._stats.systemId
is_null: false
values: 1169
different_values: 1 (all same)
variants: "pf2e" (x1169)
'systemVersion':
type: string
path: action._stats.systemVersion
is_null: false
values: 1169
different_values: 1 (all same)
variants: "7.1.0" (x1169)
'effects':
type: array<>
path: action.effects
is_null: false
values: 1169
min_count: 0
max_count: 0
value_type:
type:
path: action.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.action.img path: action.img
is_null: false is_null: false
values: 1170 values: 1169
different_values: 10 different_values: 9
variants: variants:
- "systems/pf2e/icons/actions/Passive.webp" (x511) - "systems/pf2e/icons/actions/Passive.webp" (x511)
- "systems/pf2e/icons/actions/OneAction.webp" (x266) - "systems/pf2e/icons/actions/OneAction.webp" (x265)
- "systems/pf2e/icons/actions/TwoActions.webp" (x154) - "systems/pf2e/icons/actions/TwoActions.webp" (x155)
- "systems/pf2e/icons/actions/Reaction.webp" (x129) - "systems/pf2e/icons/actions/Reaction.webp" (x129)
- "systems/pf2e/icons/actions/FreeAction.webp" (x68) - "systems/pf2e/icons/actions/FreeAction.webp" (x68)
- "systems/pf2e/icons/actions/ThreeActions.webp" (x29) - "systems/pf2e/icons/actions/ThreeActions.webp" (x29)
- "systems/pf2e/icons/default-icons/action.svg" (x9) - "systems/pf2e/icons/default-icons/action.svg" (x9)
- "systems/pf2e/icons/actions/LongerAction.webp" (x2) - "systems/pf2e/icons/actions/LongerAction.webp" (x2)
- "icons/skills/targeting/target-glowing-yellow.webp" (x1)
- "icons/magic/symbols/elements-air-earth-fire-water.webp" (x1) - "icons/magic/symbols/elements-air-earth-fire-water.webp" (x1)
'name': 'name':
type: string type: string
path: Item.action.name path: action.name
is_null: false is_null: false
values: 1170 values: 1169
different_values: 1155 different_values: 1154
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.action.system path: action.system
is_null: false is_null: false
values: 1170 values: 1169
schema: schema:
'_migration':
type: object
path: action.system._migration
is_null: false
values: 1169
schema:
[previous]:
type:
path: action.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: action.system._migration.version
is_null: false
values: 1169
different_values: 1 (all same)
variants: 0,939 (x1169)
'actionType': 'actionType':
type: object type: object
path: Item.action.system.actionType path: action.system.actionType
is_null: false is_null: false
values: 1170 values: 1169
schema: schema:
'value': 'value':
type: string type: string
path: Item.action.system.actionType.value path: action.system.actionType.value
is_null: false is_null: false
values: 1170 values: 1169
different_values: 4 different_values: 4
variants: variants:
- "passive" (x518) - "passive" (x518)
- "action" (x453) - "action" (x452)
- "reaction" (x130) - "reaction" (x130)
- "free" (x69) - "free" (x69)
'actions': 'actions':
type: object type: object
path: Item.action.system.actions path: action.system.actions
is_null: false is_null: false
values: 1170 values: 1169
schema: schema:
[value]: [value]:
type: integer type: integer
path: Item.action.system.actions.value path: action.system.actions.value
is_null: true is_null: true
values: 453 values: 452
different_values: 3 different_values: 3
variants: variants:
- 1 (x272) - 1 (x269)
- 2 (x152) - 2 (x154)
- 3 (x29) - 3 (x29)
[category]: [category]:
type: string type: string
path: Item.action.system.category path: action.system.category
is_null: true is_null: true
values: 1089 values: 1090
different_values: 4 different_values: 4
variants: variants:
- "offensive" (x496) - "offensive" (x497)
- "interaction" (x301) - "interaction" (x301)
- "defensive" (x181) - "defensive" (x181)
- "familiar" (x111) - "familiar" (x111)
'description': 'description':
type: object type: object
path: Item.action.system.description path: action.system.description
is_null: false is_null: false
values: 1170 values: 1169
schema: schema:
[gm]: [gm]:
type: string type: string
path: Item.action.system.description.gm path: action.system.description.gm
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: [omitted] variants: [omitted]
'value': 'value':
type: string type: string
path: Item.action.system.description.value path: action.system.description.value
is_null: false is_null: false
values: 1170 values: 1169
different_values: 1165 different_values: 1165
variants: [omitted] variants: [omitted]
'publication': 'publication':
type: object type: object
path: Item.action.system.publication path: action.system.publication
is_null: false is_null: false
values: 1170 values: 1169
schema: schema:
'license': 'license':
type: string type: string
path: Item.action.system.publication.license path: action.system.publication.license
is_null: false is_null: false
values: 1170 values: 1169
different_values: 2 different_values: 2
variants: variants:
- "OGL" (x603) - "OGL" (x603)
- "ORC" (x567) - "ORC" (x566)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.action.system.publication.remaster path: action.system.publication.remaster
is_null: false is_null: false
values: 1170 values: 1169
different_values: 2 different_values: 2
variants: variants:
- False (x587) - False (x587)
- True (x583) - True (x582)
'title': 'title':
type: string type: string
path: Item.action.system.publication.title path: action.system.publication.title
is_null: false is_null: false
values: 1170 values: 1169
different_values: 87 different_values: 87
variants: [omitted] variants: [omitted]
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.action.system.rules path: action.system.rules
is_null: false is_null: false
values: 1170 values: 1169
'slug':
type: string
path: action.system.slug
is_null: false
values: 1169
different_values: 1154
variants: [omitted]
'traits': 'traits':
type: object type: object
path: Item.action.system.traits path: action.system.traits
is_null: false is_null: false
values: 1170 values: 1169
schema: schema:
[rarity]: [rarity]:
type: string type: string
path: Item.action.system.traits.rarity path: action.system.traits.rarity
is_null: true is_null: true
values: 797 values: 797
different_values: 3 different_values: 3
variants: variants:
- "common" (x795) - "common" (x795)
- "rare" (x1)
- "uncommon" (x1) - "uncommon" (x1)
- "rare" (x1)
[selected]: [selected]:
type: object type: object
path: Item.action.system.traits.selected path: action.system.traits.selected
is_null: true is_null: true
values: 9 values: 9
schema: schema:
[auditory]: [auditory]:
type: string type: string
path: Item.action.system.traits.selected.auditory path: action.system.traits.selected.auditory
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "Auditory" (x2) variants: "Auditory" (x2)
[concentrate]: [concentrate]:
type: string type: string
path: Item.action.system.traits.selected.concentrate path: action.system.traits.selected.concentrate
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "Concentrate" (x2) variants: "Concentrate" (x2)
[emotion]: 'emotion':
type: string type: string
path: Item.action.system.traits.selected.emotion path: action.system.traits.selected.emotion
is_null: true is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "Emotion" (x1) variants: "Emotion" (x1)
[exploration]: [exploration]:
type: string type: string
path: Item.action.system.traits.selected.exploration path: action.system.traits.selected.exploration
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "Exploration" (x2) variants: "Exploration" (x2)
[general]: [general]:
type: string type: string
path: Item.action.system.traits.selected.general path: action.system.traits.selected.general
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "General" (x2) variants: "General" (x2)
[linguistic]: [linguistic]:
type: string type: string
path: Item.action.system.traits.selected.linguistic path: action.system.traits.selected.linguistic
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "Linguistic" (x2) variants: "Linguistic" (x2)
[mental]: [mental]:
type: string type: string
path: Item.action.system.traits.selected.mental path: action.system.traits.selected.mental
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "Mental" (x2) variants: "Mental" (x2)
[morph]: [morph]:
type: string type: string
path: Item.action.system.traits.selected.morph path: action.system.traits.selected.morph
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "Morph" (x1) variants: "Morph" (x1)
[primal]: [primal]:
type: string type: string
path: Item.action.system.traits.selected.primal path: action.system.traits.selected.primal
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "Primal" (x1) variants: "Primal" (x1)
[skill]: [skill]:
type: string type: string
path: Item.action.system.traits.selected.skill path: action.system.traits.selected.skill
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "Skill" (x1) variants: "Skill" (x1)
[tengu]: [tengu]:
type: string type: string
path: Item.action.system.traits.selected.tengu path: action.system.traits.selected.tengu
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "tengu" (x1) variants: "tengu" (x1)
[transmutation]: [transmutation]:
type: string type: string
path: Item.action.system.traits.selected.transmutation path: action.system.traits.selected.transmutation
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "Transmutation" (x1) variants: "Transmutation" (x1)
'value': 'value':
type: array<string> type: array<string>
path: Item.action.system.traits.value path: action.system.traits.value
is_null: false is_null: false
values: 1170 values: 1169
min_count: 0 min_count: 0
max_count: 7 max_count: 7
value_type: value_type:
type: string type: string
path: Item.action.system.traits.value.[] path: action.system.traits.value.[]
is_null: false is_null: false
values: 1391 values: 1391
different_values: 103 different_values: 103
variants: [omitted] variants: [omitted]
[deathNote]: [deathNote]:
type: boolean type: boolean
path: Item.action.system.deathNote path: action.system.deathNote
is_null: true is_null: true
values: 18 values: 18
different_values: 1 (all same) different_values: 1 (all same)
variants: True (x18) variants: True (x18)
[frequency]: [frequency]:
type: object type: object
path: Item.action.system.frequency path: action.system.frequency
is_null: true is_null: true
values: 129 values: 129
schema: schema:
'max': 'max':
type: integer type: integer
path: Item.action.system.frequency.max path: action.system.frequency.max
is_null: false is_null: false
values: 129 values: 129
different_values: 2 different_values: 2
@@ -282,7 +354,7 @@ schema:
- 2 (x3) - 2 (x3)
'per': 'per':
type: string type: string
path: Item.action.system.frequency.per path: action.system.frequency.per
is_null: false is_null: false
values: 129 values: 129
different_values: 6 different_values: 6
@@ -295,41 +367,41 @@ schema:
- "turn" (x2) - "turn" (x2)
[value]: [value]:
type: integer type: integer
path: Item.action.system.frequency.value path: action.system.frequency.value
is_null: true is_null: true
values: 6 values: 6
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x6) variants: 1 (x6)
[selfEffect]: [selfEffect]:
type: object type: object
path: Item.action.system.selfEffect path: action.system.selfEffect
is_null: true is_null: true
values: 44 values: 43
schema: schema:
'name': 'name':
type: string type: string
path: Item.action.system.selfEffect.name path: action.system.selfEffect.name
is_null: false is_null: false
values: 44 values: 43
different_values: 43 different_values: 42
variants: [omitted] variants: [omitted]
'uuid': 'uuid':
type: string type: string
path: Item.action.system.selfEffect.uuid path: action.system.selfEffect.uuid
is_null: false is_null: false
values: 44 values: 43
different_values: 43 different_values: 42
variants: [omitted] variants: [omitted]
'type': 'type':
type: string type: string
path: Item.action.type path: action.type
is_null: false is_null: false
values: 1170 values: 1169
different_values: 1 (all same) different_values: 1 (all same)
variants: "action" (x1170) variants: "action" (x1169)
[folder]: [folder]:
type: string type: string
path: Item.action.folder path: action.folder
is_null: true is_null: true
values: 476 values: 476
different_values: 53 different_values: 53
@@ -1,42 +1,108 @@
name: Item.ancestry name: ancestry
values: 48 values: 48
schema: schema:
'_id': '_id':
type: string type: string
path: Item.ancestry._id path: ancestry._id
is_null: false is_null: false
values: 48 values: 48
different_values: 48 (all different) different_values: 48 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: ancestry._stats
is_null: false
values: 48
schema:
'compendiumSource':
type: string
path: ancestry._stats.compendiumSource
is_null: false
values: 48
different_values: 48 (all different)
variants: [omitted]
'coreVersion':
type: string
path: ancestry._stats.coreVersion
is_null: false
values: 48
different_values: 1 (all same)
variants: "13.344" (x48)
'systemId':
type: string
path: ancestry._stats.systemId
is_null: false
values: 48
different_values: 1 (all same)
variants: "pf2e" (x48)
'systemVersion':
type: string
path: ancestry._stats.systemVersion
is_null: false
values: 48
different_values: 1 (all same)
variants: "7.1.0" (x48)
'effects':
type: array<>
path: ancestry.effects
is_null: false
values: 48
min_count: 0
max_count: 0
value_type:
type:
path: ancestry.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.ancestry.img path: ancestry.img
is_null: false is_null: false
values: 48 values: 48
different_values: 40 different_values: 40
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.ancestry.name path: ancestry.name
is_null: false is_null: false
values: 48 values: 48
different_values: 48 (all different) different_values: 48 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.ancestry.system path: ancestry.system
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'_migration':
type: object
path: ancestry.system._migration
is_null: false
values: 48
schema:
[previous]:
type:
path: ancestry.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: ancestry.system._migration.version
is_null: false
values: 48
different_values: 1 (all same)
variants: 0,939 (x48)
'additionalLanguages': 'additionalLanguages':
type: object type: object
path: Item.ancestry.system.additionalLanguages path: ancestry.system.additionalLanguages
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'count': 'count':
type: integer type: integer
path: Item.ancestry.system.additionalLanguages.count path: ancestry.system.additionalLanguages.count
is_null: false is_null: false
values: 48 values: 48
different_values: 2 different_values: 2
@@ -45,33 +111,33 @@ schema:
- 1 (x1) - 1 (x1)
'custom': 'custom':
type: string type: string
path: Item.ancestry.system.additionalLanguages.custom path: ancestry.system.additionalLanguages.custom
is_null: false is_null: false
values: 48 values: 48
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x48) variants: "" (x48)
'value': 'value':
type: array<string> type: array<string>
path: Item.ancestry.system.additionalLanguages.value path: ancestry.system.additionalLanguages.value
is_null: false is_null: false
values: 48 values: 48
min_count: 0 min_count: 0
max_count: 11 max_count: 11
value_type: value_type:
type: string type: string
path: Item.ancestry.system.additionalLanguages.value.[] path: ancestry.system.additionalLanguages.value.[]
is_null: false is_null: false
values: 287 values: 287
different_values: 42 different_values: 42
variants: [omitted] variants: [omitted]
'boosts': 'boosts':
type: dict<string, object> type: dict<string, object>
path: Item.ancestry.system.boosts path: ancestry.system.boosts
is_null: false is_null: false
values: 48 values: 48
_key: _key:
type: string type: string
path: Item.ancestry.system.boosts.[key] path: ancestry.system.boosts.[key]
is_null: false is_null: false
values: 144 values: 144
different_values: 3 different_values: 3
@@ -81,20 +147,20 @@ schema:
- "2" (x48) - "2" (x48)
_value: _value:
type: object type: object
path: Item.ancestry.system.boosts.[value] path: ancestry.system.boosts.[value]
is_null: false is_null: false
values: 144 values: 144
schema: schema:
'value': 'value':
type: array<string> type: array<string>
path: Item.ancestry.system.boosts.[value].value path: ancestry.system.boosts.[value].value
is_null: false is_null: false
values: 144 values: 144
min_count: 0 min_count: 0
max_count: 6 max_count: 6
value_type: value_type:
type: string type: string
path: Item.ancestry.system.boosts.[value].value.[] path: ancestry.system.boosts.[value].value.[]
is_null: false is_null: false
values: 378 values: 378
different_values: 6 different_values: 6
@@ -107,52 +173,52 @@ schema:
- "int" (x57) - "int" (x57)
'description': 'description':
type: object type: object
path: Item.ancestry.system.description path: ancestry.system.description
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'value': 'value':
type: string type: string
path: Item.ancestry.system.description.value path: ancestry.system.description.value
is_null: false is_null: false
values: 48 values: 48
different_values: 48 (all different) different_values: 48 (all different)
variants: [omitted] variants: [omitted]
'flaws': 'flaws':
type: object type: object
path: Item.ancestry.system.flaws path: ancestry.system.flaws
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'0': '0':
type: object type: object
path: Item.ancestry.system.flaws.0 path: ancestry.system.flaws.0
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'value': 'value':
type: array<string> type: array<string>
path: Item.ancestry.system.flaws.0.value path: ancestry.system.flaws.0.value
is_null: false is_null: false
values: 48 values: 48
min_count: 0 min_count: 0
max_count: 1 max_count: 1
value_type: value_type:
type: string type: string
path: Item.ancestry.system.flaws.0.value.[] path: ancestry.system.flaws.0.value.[]
is_null: false is_null: false
values: 32 values: 32
different_values: 6 different_values: 6
variants: variants:
- "int" (x7) - "int" (x7)
- "wis" (x7) - "wis" (x7)
- "con" (x6)
- "cha" (x6) - "cha" (x6)
- "con" (x6)
- "str" (x5) - "str" (x5)
- "dex" (x1) - "dex" (x1)
'hp': 'hp':
type: integer type: integer
path: Item.ancestry.system.hp path: ancestry.system.hp
is_null: false is_null: false
values: 48 values: 48
different_values: 3 different_values: 3
@@ -162,32 +228,32 @@ schema:
- 10 (x7) - 10 (x7)
'items': 'items':
type: dict<string, object> type: dict<string, object>
path: Item.ancestry.system.items path: ancestry.system.items
is_null: false is_null: false
values: 48 values: 48
_key: _key:
type: string type: string
path: Item.ancestry.system.items.[key] path: ancestry.system.items.[key]
is_null: false is_null: false
values: 45 values: 45
different_values: 45 different_values: 45
variants: [omitted] variants: [omitted]
_value: _value:
type: object type: object
path: Item.ancestry.system.items.[value] path: ancestry.system.items.[value]
is_null: false is_null: false
values: 45 values: 45
schema: schema:
'img': 'img':
type: string type: string
path: Item.ancestry.system.items.[value].img path: ancestry.system.items.[value].img
is_null: false is_null: false
values: 45 values: 45
different_values: 30 different_values: 30
variants: [omitted] variants: [omitted]
'level': 'level':
type: integer | string type: integer | string
path: Item.ancestry.system.items.[value].level path: ancestry.system.items.[value].level
is_null: false is_null: false
values: 45 values: 45
types: types:
@@ -201,54 +267,54 @@ schema:
- "0" (x1) - "0" (x1)
'name': 'name':
type: string type: string
path: Item.ancestry.system.items.[value].name path: ancestry.system.items.[value].name
is_null: false is_null: false
values: 45 values: 45
different_values: 45 different_values: 45
variants: [omitted] variants: [omitted]
'uuid': 'uuid':
type: string type: string
path: Item.ancestry.system.items.[value].uuid path: ancestry.system.items.[value].uuid
is_null: false is_null: false
values: 45 values: 45
different_values: 45 different_values: 45
variants: [omitted] variants: [omitted]
'languages': 'languages':
type: object type: object
path: Item.ancestry.system.languages path: ancestry.system.languages
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'custom': 'custom':
type: string type: string
path: Item.ancestry.system.languages.custom path: ancestry.system.languages.custom
is_null: false is_null: false
values: 48 values: 48
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x48) variants: "" (x48)
'value': 'value':
type: array<string> type: array<string>
path: Item.ancestry.system.languages.value path: ancestry.system.languages.value
is_null: false is_null: false
values: 48 values: 48
min_count: 1 min_count: 1
max_count: 3 max_count: 3
value_type: value_type:
type: string type: string
path: Item.ancestry.system.languages.value.[] path: ancestry.system.languages.value.[]
is_null: false is_null: false
values: 91 values: 91
different_values: 37 different_values: 37
variants: [omitted] variants: [omitted]
'publication': 'publication':
type: object type: object
path: Item.ancestry.system.publication path: ancestry.system.publication
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'license': 'license':
type: string type: string
path: Item.ancestry.system.publication.license path: ancestry.system.publication.license
is_null: false is_null: false
values: 48 values: 48
different_values: 2 different_values: 2
@@ -257,7 +323,7 @@ schema:
- "OGL" (x19) - "OGL" (x19)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.ancestry.system.publication.remaster path: ancestry.system.publication.remaster
is_null: false is_null: false
values: 48 values: 48
different_values: 2 different_values: 2
@@ -266,26 +332,26 @@ schema:
- False (x19) - False (x19)
'title': 'title':
type: string type: string
path: Item.ancestry.system.publication.title path: ancestry.system.publication.title
is_null: false is_null: false
values: 48 values: 48
different_values: 12 different_values: 12
variants: variants:
- "Pathfinder Player Core 2" (x8) - "Pathfinder Player Core 2" (x8)
- "Pathfinder Player Core" (x8) - "Pathfinder Player Core" (x8)
- "Pathfinder Lost Omens Ancestry Guide" (x6)
- "Pathfinder Howl of the Wild" (x6) - "Pathfinder Howl of the Wild" (x6)
- "Pathfinder Lost Omens Ancestry Guide" (x6)
- "Pathfinder Lost Omens Tian Xia Character Guide" (x6) - "Pathfinder Lost Omens Tian Xia Character Guide" (x6)
- "Pathfinder Lost Omens Impossible Lands" (x5) - "Pathfinder Lost Omens Impossible Lands" (x5)
- "Pathfinder Lost Omens The Mwangi Expanse" (x4) - "Pathfinder Lost Omens The Mwangi Expanse" (x4)
- "Pathfinder Guns & Gears" (x1)
- "Pathfinder Lost Omens Absalom, City of Lost Omens" (x1)
- "Pathfinder Lost Omens The Grand Bazaar" (x1)
- "Pathfinder #153: Life's Long Shadows" (x1)
- "Pathfinder Book of the Dead" (x1) - "Pathfinder Book of the Dead" (x1)
- "Pathfinder Lost Omens The Grand Bazaar" (x1)
- "Pathfinder Guns & Gears" (x1)
- "Pathfinder #153: Life's Long Shadows" (x1)
- "Pathfinder Lost Omens Absalom, City of Lost Omens" (x1)
'reach': 'reach':
type: integer type: integer
path: Item.ancestry.system.reach path: ancestry.system.reach
is_null: false is_null: false
values: 48 values: 48
different_values: 2 different_values: 2
@@ -294,12 +360,12 @@ schema:
- 0 (x1) - 0 (x1)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.ancestry.system.rules path: ancestry.system.rules
is_null: false is_null: false
values: 48 values: 48
'size': 'size':
type: string type: string
path: Item.ancestry.system.size path: ancestry.system.size
is_null: false is_null: false
values: 48 values: 48
different_values: 4 different_values: 4
@@ -308,9 +374,16 @@ schema:
- "sm" (x12) - "sm" (x12)
- "lg" (x2) - "lg" (x2)
- "tiny" (x1) - "tiny" (x1)
'slug':
type: string
path: ancestry.system.slug
is_null: false
values: 48
different_values: 48 (all different)
variants: [omitted]
'speed': 'speed':
type: integer type: integer
path: Item.ancestry.system.speed path: ancestry.system.speed
is_null: false is_null: false
values: 48 values: 48
different_values: 4 different_values: 4
@@ -321,37 +394,37 @@ schema:
- 5 (x2) - 5 (x2)
'traits': 'traits':
type: object type: object
path: Item.ancestry.system.traits path: ancestry.system.traits
is_null: false is_null: false
values: 48 values: 48
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.ancestry.system.traits.rarity path: ancestry.system.traits.rarity
is_null: false is_null: false
values: 48 values: 48
different_values: 3 different_values: 3
variants: variants:
- "rare" (x20)
- "uncommon" (x20) - "uncommon" (x20)
- "rare" (x20)
- "common" (x8) - "common" (x8)
'value': 'value':
type: array<string> type: array<string>
path: Item.ancestry.system.traits.value path: ancestry.system.traits.value
is_null: false is_null: false
values: 48 values: 48
min_count: 2 min_count: 2
max_count: 3 max_count: 3
value_type: value_type:
type: string type: string
path: Item.ancestry.system.traits.value.[] path: ancestry.system.traits.value.[]
is_null: false is_null: false
values: 104 values: 104
different_values: 57 different_values: 57
variants: [omitted] variants: [omitted]
'vision': 'vision':
type: string type: string
path: Item.ancestry.system.vision path: ancestry.system.vision
is_null: false is_null: false
values: 48 values: 48
different_values: 3 different_values: 3
@@ -361,7 +434,7 @@ schema:
- "darkvision" (x12) - "darkvision" (x12)
'type': 'type':
type: string type: string
path: Item.ancestry.type path: ancestry.type
is_null: false is_null: false
values: 48 values: 48
different_values: 1 (all same) different_values: 1 (all same)
@@ -1,56 +1,268 @@
name: Item.armor name: armor
values: 164 values: 165
schema: schema:
'_id': '_id':
type: string type: string
path: Item.armor._id path: armor._id
is_null: false is_null: false
values: 164 values: 165
different_values: 164 (all different) different_values: 165 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: armor._stats
is_null: false
values: 165
schema:
'compendiumSource':
type: string
path: armor._stats.compendiumSource
is_null: false
values: 165
different_values: 165 (all different)
variants: [omitted]
'coreVersion':
type: string
path: armor._stats.coreVersion
is_null: false
values: 165
different_values: 1 (all same)
variants: "13.344" (x165)
'systemId':
type: string
path: armor._stats.systemId
is_null: false
values: 165
different_values: 1 (all same)
variants: "pf2e" (x165)
'systemVersion':
type: string
path: armor._stats.systemVersion
is_null: false
values: 165
different_values: 1 (all same)
variants: "7.1.0" (x165)
'effects':
type: array<>
path: armor.effects
is_null: false
values: 165
min_count: 0
max_count: 0
value_type:
type:
path: armor.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.armor.img path: armor.img
is_null: false is_null: false
values: 164 values: 165
different_values: 78 different_values: 79
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.armor.name path: armor.name
is_null: false is_null: false
values: 164 values: 165
different_values: 164 (all different) different_values: 165 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.armor.system path: armor.system
is_null: false is_null: false
values: 164 values: 165
schema: schema:
'_migration':
type: object
path: armor.system._migration
is_null: false
values: 165
schema:
[previous]:
type:
path: armor.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: armor.system._migration.version
is_null: false
values: 165
different_values: 1 (all same)
variants: 0,939 (x165)
'acBonus': 'acBonus':
type: integer type: integer
path: Item.armor.system.acBonus path: armor.system.acBonus
is_null: false is_null: false
values: 164 values: 165
different_values: 7 different_values: 7
variants: variants:
- 2 (x35) - 2 (x35)
- 6 (x31) - 6 (x31)
- 3 (x26) - 3 (x26)
- 1 (x24) - 1 (x24)
- 4 (x19) - 4 (x20)
- 0 (x16) - 0 (x16)
- 5 (x13) - 5 (x13)
'bulk':
type: object
path: armor.system.bulk
is_null: false
values: 165
schema:
'value':
type: integer | float
path: armor.system.bulk.value
is_null: false
values: 165
types:
- different_values: 6
variants:
- 1 (x44)
- 2 (x37)
- 4 (x24)
- 0 (x15)
- 3 (x12)
- 5 (x8)
- different_values: 1 (all same)
variants: 0,1 (x25)
'category':
type: string
path: armor.system.category
is_null: false
values: 165
different_values: 6
variants:
- "light" (x56)
- "heavy" (x44)
- "medium" (x42)
- "unarmored" (x17)
- "light-barding" (x3)
- "heavy-barding" (x3)
'checkPenalty':
type: integer
path: armor.system.checkPenalty
is_null: false
values: 165
different_values: 5
variants:
- -1 (x53)
- -3 (x47)
- -2 (x39)
- 0 (x25)
- -4 (x1)
'description':
type: object
path: armor.system.description
is_null: false
values: 165
schema:
[gm]:
type: string
path: armor.system.description.gm
is_null: true
values: 1
different_values: 1 (all same)
variants: "<p><em>Slithermaw's Bane</em> is focused on Kyonin's safety and protection. It imparts the following edicts and anathema on the wielder. If they're violated, the artifact reverts to its non-artifact form until the wielder atones, either through the use of the atone ritual, or through a short side quest or influence encounter of your own design.</p><p><strong>Edicts</strong> kill Treerazer, protect elven lives, push back Tanglebriar's boundaries</p><p><strong>Anathema</strong> aid Treerazer, willingly betray Kyonin</p><h2>Choose Apex Attribute</h2><p><em>Slithermaw's Bane</em> is a powerful apex item, but the apex bonuses granted are more powerful than most. As with all apex items, a PC can only benefit from one apex item at a time. When your character creates the artifact, choose one attribute modifier. When you invest the artifact, you either increase that attribute modifier by 2 or increase it to +5, whichever would give you a higher value. Once you make this selection, you can't change it later.</p><hr /><p><em>Note: Select the apex attribute on the details tab of this item.</em></p><h2>Choose Heroic Skill</h2><p><em>Slithermaw's Bane</em> also bolsters one skill of your choice. When your character creates the artifact, choose one of the three skills listed for the artifact. As long as the artifact is invested by you, it grants you a +4 item bonus to checks with that skill.</p><h2>Heroic Recovery</h2><p>Finally, <em>Slithermaw's Bane</em> has 1 Recovery Point; this point replenishes once per day when its invested partner does their daily preparations. When the artifact's partner's @UUID[Compendium.pf2e.conditionitems.Item.yZRUzMqrMmfLu0V1]{Dying} value would reach an amount sufficient to kill them (usually 4), the artifact spends its Recovery Point, and the partner instead increases their @UUID[Compendium.pf2e.conditionitems.Item.3uh1r86TzbQvosxv]{Doomed} value by 1 and stabilizes at 0 Hit Points.</p>" (x1)
'value':
type: string
path: armor.system.description.value
is_null: false
values: 165
different_values: 162
variants: [omitted]
'dexCap':
type: integer
path: armor.system.dexCap
is_null: false
values: 165
different_values: 6
variants:
- 3 (x39)
- 1 (x34)
- 0 (x31)
- 2 (x26)
- 4 (x18)
- 5 (x17)
'equipped':
type: object
path: armor.system.equipped
is_null: false
values: 165
schema:
'carryType':
type: string
path: armor.system.equipped.carryType
is_null: false
values: 165
different_values: 1 (all same)
variants: "worn" (x165)
[apex]:
type: object
path: armor.system.apex
is_null: true
values: 2
schema:
'attribute':
type: string
path: armor.system.apex.attribute
is_null: false
values: 2
different_values: 1 (all same)
variants: "con" (x2)
'hardness':
type: integer
path: armor.system.hardness
is_null: false
values: 165
different_values: 1 (all same)
variants: 0 (x165)
'hp':
type: object
path: armor.system.hp
is_null: false
values: 165
schema:
'max':
type: integer
path: armor.system.hp.max
is_null: false
values: 165
different_values: 1 (all same)
variants: 0 (x165)
'value':
type: integer
path: armor.system.hp.value
is_null: false
values: 165
different_values: 1 (all same)
variants: 0 (x165)
'level':
type: object
path: armor.system.level
is_null: false
values: 165
schema:
'value':
type: integer
path: armor.system.level.value
is_null: false
values: 165
different_values: 21
variants: [omitted]
'material': 'material':
type: object type: object
path: Item.armor.system.material path: armor.system.material
is_null: false is_null: false
values: 164 values: 165
schema: schema:
[grade]: [grade]:
type: string type: string
path: Item.armor.system.material.grade path: armor.system.material.grade
is_null: true is_null: true
values: 10 values: 10
different_values: 3 different_values: 3
@@ -60,7 +272,7 @@ schema:
- "low" (x1) - "low" (x1)
[type]: [type]:
type: string type: string
path: Item.armor.system.material.type path: armor.system.material.type
is_null: true is_null: true
values: 10 values: 10
different_values: 5 different_values: 5
@@ -68,30 +280,30 @@ schema:
- "dawnsilver" (x5) - "dawnsilver" (x5)
- "adamantine" (x2) - "adamantine" (x2)
- "dragonhide" (x1) - "dragonhide" (x1)
- "silver" (x1)
- "duskwood" (x1) - "duskwood" (x1)
- "silver" (x1)
'price': 'price':
type: object type: object
path: Item.armor.system.price path: armor.system.price
is_null: false is_null: false
values: 164 values: 165
schema: schema:
'value': 'value':
type: object type: object
path: Item.armor.system.price.value path: armor.system.price.value
is_null: false is_null: false
values: 164 values: 165
schema: schema:
[gp]: [gp]:
type: integer type: integer
path: Item.armor.system.price.value.gp path: armor.system.price.value.gp
is_null: true is_null: true
values: 147 values: 147
different_values: 79 different_values: 79
variants: [omitted] variants: [omitted]
[sp]: [sp]:
type: integer type: integer
path: Item.armor.system.price.value.sp path: armor.system.price.value.sp
is_null: true is_null: true
values: 4 values: 4
different_values: 3 different_values: 3
@@ -101,75 +313,75 @@ schema:
- 15 (x1) - 15 (x1)
'publication': 'publication':
type: object type: object
path: Item.armor.system.publication path: armor.system.publication
is_null: false is_null: false
values: 164 values: 165
schema: schema:
'license': 'license':
type: string type: string
path: Item.armor.system.publication.license path: armor.system.publication.license
is_null: false is_null: false
values: 164 values: 165
different_values: 2 different_values: 2
variants: variants:
- "OGL" (x106) - "OGL" (x106)
- "ORC" (x58) - "ORC" (x59)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.armor.system.publication.remaster path: armor.system.publication.remaster
is_null: false is_null: false
values: 164 values: 165
different_values: 2 different_values: 2
variants: variants:
- False (x99) - False (x99)
- True (x65) - True (x66)
'title': 'title':
type: string type: string
path: Item.armor.system.publication.title path: armor.system.publication.title
is_null: false is_null: false
values: 164 values: 165
different_values: 41 different_values: 41
variants: [omitted] variants: [omitted]
'quantity': 'quantity':
type: integer type: integer
path: Item.armor.system.quantity path: armor.system.quantity
is_null: false is_null: false
values: 164 values: 165
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x164) variants: 1 (x165)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.armor.system.rules path: armor.system.rules
is_null: false is_null: false
values: 164 values: 165
'runes': 'runes':
type: object type: object
path: Item.armor.system.runes path: armor.system.runes
is_null: false is_null: false
values: 164 values: 165
schema: schema:
'potency': 'potency':
type: integer type: integer
path: Item.armor.system.runes.potency path: armor.system.runes.potency
is_null: false is_null: false
values: 164 values: 165
different_values: 5 different_values: 5
variants: variants:
- 0 (x64) - 0 (x65)
- 2 (x48) - 2 (x48)
- 1 (x40) - 1 (x40)
- 3 (x11) - 3 (x11)
- 4 (x1) - 4 (x1)
'property': 'property':
type: array<string> type: array<string>
path: Item.armor.system.runes.property path: armor.system.runes.property
is_null: false is_null: false
values: 164 values: 165
min_count: 0 min_count: 0
max_count: 1 max_count: 1
value_type: value_type:
type: string type: string
path: Item.armor.system.runes.property.[] path: armor.system.runes.property.[]
is_null: false is_null: false
values: 24 values: 24
different_values: 12 different_values: 12
@@ -179,261 +391,148 @@ schema:
- "invisibility" (x3) - "invisibility" (x3)
- "deathless" (x2) - "deathless" (x2)
- "fireResistant" (x2) - "fireResistant" (x2)
- "assisting" (x1)
- "greaterSlick" (x1)
- "antimagic" (x1)
- "greaterReady" (x1)
- "greaterAcidResistant" (x1)
- "glamered" (x1) - "glamered" (x1)
- "greaterSlick" (x1)
- "greaterInvisibility" (x1) - "greaterInvisibility" (x1)
- "greaterAcidResistant" (x1)
- "assisting" (x1)
- "greaterReady" (x1)
- "antimagic" (x1)
[resilient]: [resilient]:
type: integer type: integer
path: Item.armor.system.runes.resilient path: armor.system.runes.resilient
is_null: true is_null: true
values: 163 values: 164
different_values: 4 different_values: 4
variants: variants:
- 0 (x81) - 0 (x82)
- 1 (x48) - 1 (x48)
- 2 (x32) - 2 (x32)
- 3 (x2) - 3 (x2)
'size': 'size':
type: string type: string
path: Item.armor.system.size path: armor.system.size
is_null: false is_null: false
values: 164 values: 165
different_values: 2 different_values: 2
variants: variants:
- "med" (x163) - "med" (x164)
- "lg" (x1) - "lg" (x1)
'slug':
type: string
path: armor.system.slug
is_null: false
values: 165
different_values: 165 (all different)
variants: [omitted]
'speedPenalty': 'speedPenalty':
type: integer type: integer
path: Item.armor.system.speedPenalty path: armor.system.speedPenalty
is_null: false is_null: false
values: 164 values: 165
different_values: 5 different_values: 5
variants: variants:
- 0 (x74) - 0 (x74)
- -10 (x45) - -10 (x45)
- -5 (x43) - -5 (x44)
- -15 (x1) - -15 (x1)
- -14 (x1) - -14 (x1)
[strength]:
type: integer
path: armor.system.strength
is_null: true
values: 148
different_values: 6
variants:
- 3 (x36)
- 1 (x34)
- 4 (x31)
- 2 (x23)
- 0 (x21)
- 5 (x3)
'traits': 'traits':
type: object type: object
path: Item.armor.system.traits path: armor.system.traits
is_null: false is_null: false
values: 164 values: 165
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.armor.system.traits.rarity path: armor.system.traits.rarity
is_null: false is_null: false
values: 164 values: 165
different_values: 4 different_values: 4
variants: variants:
- "common" (x91) - "common" (x92)
- "uncommon" (x42) - "uncommon" (x42)
- "rare" (x25) - "rare" (x25)
- "unique" (x6) - "unique" (x6)
'value': 'value':
type: array<string> type: array<string>
path: Item.armor.system.traits.value path: armor.system.traits.value
is_null: false is_null: false
values: 164 values: 165
min_count: 0 min_count: 0
max_count: 6 max_count: 6
value_type: value_type:
type: string type: string
path: Item.armor.system.traits.value.[] path: armor.system.traits.value.[]
is_null: false is_null: false
values: 308 values: 309
different_values: 40 different_values: 40
variants: [omitted] variants: [omitted]
[apex]:
type: object
path: Item.armor.system.apex
is_null: true
values: 2
schema:
'attribute':
type: string
path: Item.armor.system.apex.attribute
is_null: false
values: 2
different_values: 1 (all same)
variants: "con" (x2)
'bulk':
type: object
path: Item.armor.system.bulk
is_null: false
values: 164
schema:
'value':
type: integer | float
path: Item.armor.system.bulk.value
is_null: false
values: 164
types:
- different_values: 6
variants:
- 1 (x44)
- 2 (x37)
- 4 (x24)
- 0 (x14)
- 3 (x12)
- 5 (x8)
- different_values: 1 (all same)
variants: 0,1 (x25)
'category':
type: string
path: Item.armor.system.category
is_null: false
values: 164
different_values: 6
variants:
- "light" (x56)
- "heavy" (x44)
- "medium" (x41)
- "unarmored" (x17)
- "light-barding" (x3)
- "heavy-barding" (x3)
'checkPenalty':
type: integer
path: Item.armor.system.checkPenalty
is_null: false
values: 164
different_values: 5
variants:
- -1 (x53)
- -3 (x47)
- -2 (x38)
- 0 (x25)
- -4 (x1)
'description':
type: object
path: Item.armor.system.description
is_null: false
values: 164
schema:
[gm]:
type: string
path: Item.armor.system.description.gm
is_null: true
values: 1
different_values: 1 (all same)
variants: "<p><em>Slithermaw's Bane</em> is focused on Kyonin's safety and protection. It imparts the following edicts and anathema on the wielder. If they're violated, the artifact reverts to its non-artifact form until the wielder atones, either through the use of the atone ritual, or through a short side quest or influence encounter of your own design.</p><p><strong>Edicts</strong> kill Treerazer, protect elven lives, push back Tanglebriar's boundaries</p><p><strong>Anathema</strong> aid Treerazer, willingly betray Kyonin</p><h2>Choose Apex Attribute</h2><p><em>Slithermaw's Bane</em> is a powerful apex item, but the apex bonuses granted are more powerful than most. As with all apex items, a PC can only benefit from one apex item at a time. When your character creates the artifact, choose one attribute modifier. When you invest the artifact, you either increase that attribute modifier by 2 or increase it to +5, whichever would give you a higher value. Once you make this selection, you can't change it later.</p><hr /><p><em>Note: Select the apex attribute on the details tab of this item.</em></p><h2>Choose Heroic Skill</h2><p><em>Slithermaw's Bane</em> also bolsters one skill of your choice. When your character creates the artifact, choose one of the three skills listed for the artifact. As long as the artifact is invested by you, it grants you a +4 item bonus to checks with that skill.</p><h2>Heroic Recovery</h2><p>Finally, <em>Slithermaw's Bane</em> has 1 Recovery Point; this point replenishes once per day when its invested partner does their daily preparations. When the artifact's partner's @UUID[Compendium.pf2e.conditionitems.Item.Dying] value would reach an amount sufficient to kill them (usually 4), the artifact spends its Recovery Point, and the partner instead increases their @UUID[Compendium.pf2e.conditionitems.Item.Doomed] value by 1 and stabilizes at 0 Hit Points.</p>" (x1)
'value':
type: string
path: Item.armor.system.description.value
is_null: false
values: 164
different_values: 161
variants: [omitted]
'dexCap':
type: integer
path: Item.armor.system.dexCap
is_null: false
values: 164
different_values: 6
variants:
- 3 (x39)
- 1 (x33)
- 0 (x31)
- 2 (x26)
- 4 (x18)
- 5 (x17)
'hardness':
type: integer
path: Item.armor.system.hardness
is_null: false
values: 164
different_values: 1 (all same)
variants: 0 (x164)
[baseItem]: [baseItem]:
type: string type: string
path: Item.armor.system.baseItem path: armor.system.baseItem
is_null: true is_null: true
values: 145 values: 145
different_values: 38 different_values: 38
variants: [omitted] variants: [omitted]
[containerId]: [containerId]:
type: type:
path: Item.armor.system.containerId path: armor.system.containerId
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
[group]: [group]:
type: string type: string
path: Item.armor.system.group path: armor.system.group
is_null: true is_null: true
values: 148 values: 149
different_values: 7 different_values: 7
variants: variants:
- "plate" (x51) - "plate" (x52)
- "leather" (x28) - "leather" (x28)
- "chain" (x20) - "chain" (x20)
- "composite" (x16) - "composite" (x16)
- "wood" (x13) - "wood" (x13)
- "cloth" (x13) - "cloth" (x13)
- "skeletal" (x7) - "skeletal" (x7)
'hp':
type: object
path: Item.armor.system.hp
is_null: false
values: 164
schema:
'max':
type: integer
path: Item.armor.system.hp.max
is_null: false
values: 164
different_values: 1 (all same)
variants: 0 (x164)
'value':
type: integer
path: Item.armor.system.hp.value
is_null: false
values: 164
different_values: 1 (all same)
variants: 0 (x164)
'level':
type: object
path: Item.armor.system.level
is_null: false
values: 164
schema:
'value':
type: integer
path: Item.armor.system.level.value
is_null: false
values: 164
different_values: 21
variants: [omitted]
[specific]: [specific]:
type: object type: object
path: Item.armor.system.specific path: armor.system.specific
is_null: true is_null: true
values: 100 values: 100
schema: schema:
'material': 'material':
type: object type: object
path: Item.armor.system.specific.material path: armor.system.specific.material
is_null: false is_null: false
values: 100 values: 100
schema: schema:
[grade]: [grade]:
type: string type: string
path: Item.armor.system.specific.material.grade path: armor.system.specific.material.grade
is_null: true is_null: true
values: 8 values: 8
different_values: 3 different_values: 3
variants: variants:
- "standard" (x6) - "standard" (x6)
- "low" (x1)
- "high" (x1) - "high" (x1)
- "low" (x1)
[type]: [type]:
type: string type: string
path: Item.armor.system.specific.material.type path: armor.system.specific.material.type
is_null: true is_null: true
values: 8 values: 8
different_values: 5 different_values: 5
@@ -441,17 +540,17 @@ schema:
- "dawnsilver" (x3) - "dawnsilver" (x3)
- "adamantine" (x2) - "adamantine" (x2)
- "dragonhide" (x1) - "dragonhide" (x1)
- "silver" (x1)
- "duskwood" (x1) - "duskwood" (x1)
- "silver" (x1)
'runes': 'runes':
type: object type: object
path: Item.armor.system.specific.runes path: armor.system.specific.runes
is_null: false is_null: false
values: 100 values: 100
schema: schema:
'potency': 'potency':
type: integer type: integer
path: Item.armor.system.specific.runes.potency path: armor.system.specific.runes.potency
is_null: false is_null: false
values: 100 values: 100
different_values: 4 different_values: 4
@@ -462,14 +561,14 @@ schema:
- 4 (x1) - 4 (x1)
'property': 'property':
type: array<string> type: array<string>
path: Item.armor.system.specific.runes.property path: armor.system.specific.runes.property
is_null: false is_null: false
values: 100 values: 100
min_count: 0 min_count: 0
max_count: 1 max_count: 1
value_type: value_type:
type: string type: string
path: Item.armor.system.specific.runes.property.[] path: armor.system.specific.runes.property.[]
is_null: false is_null: false
values: 24 values: 24
different_values: 12 different_values: 12
@@ -479,16 +578,16 @@ schema:
- "invisibility" (x3) - "invisibility" (x3)
- "deathless" (x2) - "deathless" (x2)
- "fireResistant" (x2) - "fireResistant" (x2)
- "assisting" (x1)
- "greaterSlick" (x1)
- "antimagic" (x1)
- "greaterReady" (x1)
- "greaterAcidResistant" (x1)
- "glamered" (x1) - "glamered" (x1)
- "greaterSlick" (x1)
- "greaterInvisibility" (x1) - "greaterInvisibility" (x1)
- "greaterAcidResistant" (x1)
- "assisting" (x1)
- "greaterReady" (x1)
- "antimagic" (x1)
[resilient]: [resilient]:
type: integer type: integer
path: Item.armor.system.specific.runes.resilient path: armor.system.specific.runes.resilient
is_null: true is_null: true
values: 99 values: 99
different_values: 4 different_values: 4
@@ -497,23 +596,10 @@ schema:
- 2 (x30) - 2 (x30)
- 0 (x20) - 0 (x20)
- 3 (x2) - 3 (x2)
[strength]:
type: integer
path: Item.armor.system.strength
is_null: true
values: 147
different_values: 6
variants:
- 3 (x35)
- 1 (x34)
- 4 (x31)
- 2 (x23)
- 0 (x21)
- 5 (x3)
'type': 'type':
type: string type: string
path: Item.armor.type path: armor.type
is_null: false is_null: false
values: 164 values: 165
different_values: 1 (all same) different_values: 1 (all same)
variants: "armor" (x164) variants: "armor" (x165)
File diff suppressed because it is too large Load Diff
@@ -1,67 +1,107 @@
name: Item.background name: background
values: 459 values: 459
schema: schema:
'_id': '_id':
type: string type: string
path: Item.background._id path: background._id
is_null: false is_null: false
values: 459 values: 459
different_values: 459 (all different) different_values: 459 (all different)
variants: [omitted] variants: [omitted]
'folder': '_stats':
type: string type: object
path: Item.background.folder path: background._stats
is_null: false is_null: false
values: 129 values: 459
different_values: 19 schema:
variants: 'compendiumSource':
- "nMbLhTgeWwIj5w4w" (x10) type: string
- "2IuGrk3NUEh9X4t8" (x9) path: background._stats.compendiumSource
- "vWRVEqjnvEldkeN2" (x9) is_null: false
- "QjIF7UIVi6qewGQE" (x8) values: 459
- "OqtihkzLEdr6XFxz" (x8) different_values: 459 (all different)
- "adZ9Rij5DJPfLy4U" (x7) variants: [omitted]
- "Zb0VOQcHJlWcrv6q" (x7) 'coreVersion':
- "9I87hWSS2VT4wyWf" (x6) type: string
- "8CbokvOxW5YQZRyE" (x6) path: background._stats.coreVersion
- "Bj8OBjxrxeUx8h9u" (x6) is_null: false
- "kHwQEaTB0PYPEpth" (x6) values: 459
- "I7OzdXhmf94ZkRoO" (x6) different_values: 1 (all same)
- "FFUQNELiPmqP04zU" (x6) variants: "13.344" (x459)
- "wf0cLn0HOBmQ0qOT" (x6) 'systemId':
- "VU1vkm9fUFmtzF2X" (x6) type: string
- "Csfz885S8s0nQ91U" (x6) path: background._stats.systemId
- "aMvKjUALuWvAzSL8" (x6) is_null: false
- "T7bSGZROT5ALk4kf" (x6) values: 459
- "BA7QJJ5KxG5pDnAK" (x5) different_values: 1 (all same)
variants: "pf2e" (x459)
'systemVersion':
type: string
path: background._stats.systemVersion
is_null: false
values: 459
different_values: 1 (all same)
variants: "7.1.0" (x459)
'effects':
type: array<>
path: background.effects
is_null: false
values: 459
min_count: 0
max_count: 0
value_type:
type:
path: background.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.background.img path: background.img
is_null: false is_null: false
values: 459 values: 459
different_values: 1 (all same) different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/background.svg" (x459) variants: "systems/pf2e/icons/default-icons/background.svg" (x459)
'name': 'name':
type: string type: string
path: Item.background.name path: background.name
is_null: false is_null: false
values: 459 values: 459
different_values: 459 (all different) different_values: 459 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.background.system path: background.system
is_null: false is_null: false
values: 459 values: 459
schema: schema:
'_migration':
type: object
path: background.system._migration
is_null: false
values: 459
schema:
[previous]:
type:
path: background.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: background.system._migration.version
is_null: false
values: 459
different_values: 1 (all same)
variants: 0,939 (x459)
'boosts': 'boosts':
type: dict<string, object> type: dict<string, object>
path: Item.background.system.boosts path: background.system.boosts
is_null: false is_null: false
values: 459 values: 459
_key: _key:
type: string type: string
path: Item.background.system.boosts.[key] path: background.system.boosts.[key]
is_null: false is_null: false
values: 920 values: 920
different_values: 3 different_values: 3
@@ -71,77 +111,77 @@ schema:
- "2" (x2) - "2" (x2)
_value: _value:
type: object type: object
path: Item.background.system.boosts.[value] path: background.system.boosts.[value]
is_null: false is_null: false
values: 920 values: 920
schema: schema:
[selected]: [selected]:
type: type:
path: Item.background.system.boosts.[value].selected path: background.system.boosts.[value].selected
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'value': 'value':
type: array<string> type: array<string>
path: Item.background.system.boosts.[value].value path: background.system.boosts.[value].value
is_null: false is_null: false
values: 920 values: 920
min_count: 0 min_count: 0
max_count: 6 max_count: 6
value_type: value_type:
type: string type: string
path: Item.background.system.boosts.[value].value.[] path: background.system.boosts.[value].value.[]
is_null: false is_null: false
values: 3689 values: 3689
different_values: 6 different_values: 6
variants: variants:
- "wis" (x640) - "wis" (x640)
- "cha" (x638)
- "int" (x638) - "int" (x638)
- "cha" (x638)
- "con" (x606) - "con" (x606)
- "dex" (x596) - "dex" (x596)
- "str" (x571) - "str" (x571)
'description': 'description':
type: object type: object
path: Item.background.system.description path: background.system.description
is_null: false is_null: false
values: 459 values: 459
schema: schema:
'value': 'value':
type: string type: string
path: Item.background.system.description.value path: background.system.description.value
is_null: false is_null: false
values: 459 values: 459
different_values: 459 (all different) different_values: 459 (all different)
variants: [omitted] variants: [omitted]
'items': 'items':
type: dict<string, object> type: dict<string, object>
path: Item.background.system.items path: background.system.items
is_null: false is_null: false
values: 459 values: 459
_key: _key:
type: string type: string
path: Item.background.system.items.[key] path: background.system.items.[key]
is_null: false is_null: false
values: 368 values: 368
different_values: 368 different_values: 368
variants: [omitted] variants: [omitted]
_value: _value:
type: object type: object
path: Item.background.system.items.[value] path: background.system.items.[value]
is_null: false is_null: false
values: 368 values: 368
schema: schema:
'img': 'img':
type: string type: string
path: Item.background.system.items.[value].img path: background.system.items.[value].img
is_null: false is_null: false
values: 368 values: 368
different_values: 1 (all same) different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x368) variants: "icons/sundries/books/book-red-exclamation.webp" (x368)
'level': 'level':
type: integer type: integer
path: Item.background.system.items.[value].level path: background.system.items.[value].level
is_null: false is_null: false
values: 368 values: 368
different_values: 2 different_values: 2
@@ -150,27 +190,27 @@ schema:
- 3 (x1) - 3 (x1)
'name': 'name':
type: string type: string
path: Item.background.system.items.[value].name path: background.system.items.[value].name
is_null: false is_null: false
values: 368 values: 368
different_values: 77 different_values: 77
variants: [omitted] variants: [omitted]
'uuid': 'uuid':
type: string type: string
path: Item.background.system.items.[value].uuid path: background.system.items.[value].uuid
is_null: false is_null: false
values: 368 values: 368
different_values: 76 different_values: 76
variants: [omitted] variants: [omitted]
'publication': 'publication':
type: object type: object
path: Item.background.system.publication path: background.system.publication
is_null: false is_null: false
values: 459 values: 459
schema: schema:
'license': 'license':
type: string type: string
path: Item.background.system.publication.license path: background.system.publication.license
is_null: false is_null: false
values: 459 values: 459
different_values: 2 different_values: 2
@@ -179,7 +219,7 @@ schema:
- "ORC" (x163) - "ORC" (x163)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.background.system.publication.remaster path: background.system.publication.remaster
is_null: false is_null: false
values: 459 values: 459
different_values: 2 different_values: 2
@@ -188,53 +228,60 @@ schema:
- True (x173) - True (x173)
'title': 'title':
type: string type: string
path: Item.background.system.publication.title path: background.system.publication.title
is_null: false is_null: false
values: 459 values: 459
different_values: 53 different_values: 53
variants: [omitted] variants: [omitted]
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.background.system.rules path: background.system.rules
is_null: false is_null: false
values: 459 values: 459
'slug':
type: string
path: background.system.slug
is_null: false
values: 459
different_values: 459 (all different)
variants: [omitted]
'trainedSkills': 'trainedSkills':
type: object type: object
path: Item.background.system.trainedSkills path: background.system.trainedSkills
is_null: false is_null: false
values: 459 values: 459
schema: schema:
[custom]: [custom]:
type: string type: string
path: Item.background.system.trainedSkills.custom path: background.system.trainedSkills.custom
is_null: true is_null: true
values: 156 values: 156
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x156) variants: "" (x156)
'lore': 'lore':
type: array<string> type: array<string>
path: Item.background.system.trainedSkills.lore path: background.system.trainedSkills.lore
is_null: false is_null: false
values: 459 values: 459
min_count: 0 min_count: 0
max_count: 3 max_count: 3
value_type: value_type:
type: string type: string
path: Item.background.system.trainedSkills.lore.[] path: background.system.trainedSkills.lore.[]
is_null: false is_null: false
values: 414 values: 414
different_values: 211 different_values: 211
variants: [omitted] variants: [omitted]
'value': 'value':
type: array<string> type: array<string>
path: Item.background.system.trainedSkills.value path: background.system.trainedSkills.value
is_null: false is_null: false
values: 459 values: 459
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.background.system.trainedSkills.value.[] path: background.system.trainedSkills.value.[]
is_null: false is_null: false
values: 388 values: 388
different_values: 16 different_values: 16
@@ -253,17 +300,17 @@ schema:
- "medicine" (x17) - "medicine" (x17)
- "performance" (x16) - "performance" (x16)
- "stealth" (x14) - "stealth" (x14)
- "acrobatics" (x11)
- "thievery" (x11) - "thievery" (x11)
- "acrobatics" (x11)
'traits': 'traits':
type: object type: object
path: Item.background.system.traits path: background.system.traits
is_null: false is_null: false
values: 459 values: 459
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.background.system.traits.rarity path: background.system.traits.rarity
is_null: false is_null: false
values: 459 values: 459
different_values: 3 different_values: 3
@@ -273,30 +320,57 @@ schema:
- "uncommon" (x74) - "uncommon" (x74)
'value': 'value':
type: array<string> type: array<string>
path: Item.background.system.traits.value path: background.system.traits.value
is_null: false is_null: false
values: 459 values: 459
min_count: 0 min_count: 0
max_count: 1 max_count: 1
value_type: value_type:
type: string type: string
path: Item.background.system.traits.value.[] path: background.system.traits.value.[]
is_null: false is_null: false
values: 8 values: 8
different_values: 8 different_values: 8
variants: variants:
- "persona-flirt" (x1)
- "persona-underdog" (x1) - "persona-underdog" (x1)
- "persona-leader" (x1)
- "persona-scholar" (x1)
- "persona-warrior" (x1)
- "persona-wildcard" (x1) - "persona-wildcard" (x1)
- "persona-guardian" (x1) - "persona-guardian" (x1)
- "persona-warrior" (x1)
- "persona-leader" (x1)
- "persona-scoundrel" (x1) - "persona-scoundrel" (x1)
- "persona-flirt" (x1) - "persona-scholar" (x1)
'type': 'type':
type: string type: string
path: Item.background.type path: background.type
is_null: false is_null: false
values: 459 values: 459
different_values: 1 (all same) different_values: 1 (all same)
variants: "background" (x459) variants: "background" (x459)
[folder]:
type: string
path: background.folder
is_null: true
values: 135
different_values: 20
variants:
- "nMbLhTgeWwIj5w4w" (x10)
- "2IuGrk3NUEh9X4t8" (x9)
- "vWRVEqjnvEldkeN2" (x9)
- "QjIF7UIVi6qewGQE" (x8)
- "OqtihkzLEdr6XFxz" (x8)
- "adZ9Rij5DJPfLy4U" (x7)
- "Zb0VOQcHJlWcrv6q" (x7)
- "FFUQNELiPmqP04zU" (x6)
- "U7MJYTsoSUtSuCLf" (x6)
- "Bj8OBjxrxeUx8h9u" (x6)
- "VU1vkm9fUFmtzF2X" (x6)
- "T7bSGZROT5ALk4kf" (x6)
- "kHwQEaTB0PYPEpth" (x6)
- "Csfz885S8s0nQ91U" (x6)
- "9I87hWSS2VT4wyWf" (x6)
- "8CbokvOxW5YQZRyE" (x6)
- "aMvKjUALuWvAzSL8" (x6)
- "I7OzdXhmf94ZkRoO" (x6)
- "wf0cLn0HOBmQ0qOT" (x6)
- "BA7QJJ5KxG5pDnAK" (x5)
@@ -1,48 +1,114 @@
name: Item.backpack name: backpack
values: 43 values: 43
schema: schema:
'_id': '_id':
type: string type: string
path: Item.backpack._id path: backpack._id
is_null: false is_null: false
values: 43 values: 43
different_values: 43 (all different) different_values: 43 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: backpack._stats
is_null: false
values: 43
schema:
'compendiumSource':
type: string
path: backpack._stats.compendiumSource
is_null: false
values: 43
different_values: 43 (all different)
variants: [omitted]
'coreVersion':
type: string
path: backpack._stats.coreVersion
is_null: false
values: 43
different_values: 1 (all same)
variants: "13.344" (x43)
'systemId':
type: string
path: backpack._stats.systemId
is_null: false
values: 43
different_values: 1 (all same)
variants: "pf2e" (x43)
'systemVersion':
type: string
path: backpack._stats.systemVersion
is_null: false
values: 43
different_values: 1 (all same)
variants: "7.1.0" (x43)
'effects':
type: array<>
path: backpack.effects
is_null: false
values: 43
min_count: 0
max_count: 0
value_type:
type:
path: backpack.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.backpack.img path: backpack.img
is_null: false is_null: false
values: 43 values: 43
different_values: 23 different_values: 23
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.backpack.name path: backpack.name
is_null: false is_null: false
values: 43 values: 43
different_values: 43 (all different) different_values: 43 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.backpack.system path: backpack.system
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'_migration':
type: object
path: backpack.system._migration
is_null: false
values: 43
schema:
[previous]:
type:
path: backpack.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: backpack.system._migration.version
is_null: false
values: 43
different_values: 1 (all same)
variants: 0,939 (x43)
[baseItem]: [baseItem]:
type: type:
path: Item.backpack.system.baseItem path: backpack.system.baseItem
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'bulk': 'bulk':
type: object type: object
path: Item.backpack.system.bulk path: backpack.system.bulk
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'capacity': 'capacity':
type: integer type: integer
path: Item.backpack.system.bulk.capacity path: backpack.system.bulk.capacity
is_null: false is_null: false
values: 43 values: 43
different_values: 13 different_values: 13
@@ -51,31 +117,31 @@ schema:
- 50 (x7) - 50 (x7)
- 25 (x6) - 25 (x6)
- 1 (x4) - 1 (x4)
- 4 (x2)
- 100 (x2)
- 150 (x2) - 150 (x2)
- 8 (x2) - 4 (x2)
- 5 (x2)
- 1000000 (x2) - 1000000 (x2)
- 6 (x1) - 8 (x2)
- 40 (x1) - 100 (x2)
- 5 (x2)
- 10 (x1) - 10 (x1)
- 40 (x1)
- 6 (x1)
'heldOrStowed': 'heldOrStowed':
type: integer | float type: float | integer
path: Item.backpack.system.bulk.heldOrStowed path: backpack.system.bulk.heldOrStowed
is_null: false is_null: false
values: 43 values: 43
types: types:
- different_values: 1 (all same)
variants: 0,1 (x16)
- different_values: 3 - different_values: 3
variants: variants:
- 1 (x21) - 1 (x21)
- 0 (x4) - 0 (x4)
- 2 (x2) - 2 (x2)
- different_values: 1 (all same)
variants: 0,1 (x16)
'ignored': 'ignored':
type: integer type: integer
path: Item.backpack.system.bulk.ignored path: backpack.system.bulk.ignored
is_null: false is_null: false
values: 43 values: 43
different_values: 10 different_values: 10
@@ -84,15 +150,15 @@ schema:
- 50 (x7) - 50 (x7)
- 25 (x6) - 25 (x6)
- 2 (x3) - 2 (x3)
- 100 (x2)
- 150 (x2) - 150 (x2)
- 1000000 (x2) - 1000000 (x2)
- 100 (x2)
- 1 (x1) - 1 (x1)
- 40 (x1)
- 10 (x1) - 10 (x1)
- 40 (x1)
'value': 'value':
type: integer | float type: integer | float
path: Item.backpack.system.bulk.value path: backpack.system.bulk.value
is_null: false is_null: false
values: 43 values: 43
types: types:
@@ -105,152 +171,171 @@ schema:
variants: 0,1 (x5) variants: 0,1 (x5)
'collapsed': 'collapsed':
type: boolean type: boolean
path: Item.backpack.system.collapsed path: backpack.system.collapsed
is_null: false is_null: false
values: 43 values: 43
different_values: 1 (all same) different_values: 1 (all same)
variants: False (x43) variants: False (x43)
'description': 'description':
type: object type: object
path: Item.backpack.system.description path: backpack.system.description
is_null: false is_null: false
values: 43 values: 43
schema: schema:
[gm]: [gm]:
type: string type: string
path: Item.backpack.system.description.gm path: backpack.system.description.gm
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "<p>Once restored, the satchel gains the following activation.</p><p><strong>Activate—Instant Alchemy</strong> <span class=\"pf2-icon\">2</span> (manipulate)</p><p><strong>Frequency</strong> once per hour</p><hr /><p><strong>Effect</strong> You name and then produce a common alchemical item of any level up to level 20 from the satchel's main compartment. This item has the infused trait and remains potent for 24 hours. Make a flat check with a DC equal to the alchemical item's level. On failure, you can't activate Red Hand's Satchel in this way until the next time you make your daily preparations.</p>" (x1) variants: "<p>Once restored, the satchel gains the following activation.</p><p><strong>Activate—Instant Alchemy</strong> <span class=\"pf2-icon\">2</span> (manipulate)</p><p><strong>Frequency</strong> once per hour</p><hr /><p><strong>Effect</strong> You name and then produce a common alchemical item of any level up to level 20 from the satchel's main compartment. This item has the infused trait and remains potent for 24 hours. Make a flat check with a DC equal to the alchemical item's level. On failure, you can't activate Red Hand's Satchel in this way until the next time you make your daily preparations.</p>" (x1)
'value': 'value':
type: string type: string
path: Item.backpack.system.description.value path: backpack.system.description.value
is_null: false is_null: false
values: 43 values: 43
different_values: 43 (all different) different_values: 43 (all different)
variants: [omitted] variants: [omitted]
'hardness': 'equipped':
type: integer type: object
path: Item.backpack.system.hardness path: backpack.system.equipped
is_null: false is_null: false
values: 43 values: 43
different_values: 1 (all same) schema:
variants: 0 (x43) 'carryType':
type: string
path: backpack.system.equipped.carryType
is_null: false
values: 43
different_values: 1 (all same)
variants: "worn" (x43)
'hp': 'hp':
type: object type: object
path: Item.backpack.system.hp path: backpack.system.hp
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'max': 'max':
type: integer type: integer
path: Item.backpack.system.hp.max path: backpack.system.hp.max
is_null: false is_null: false
values: 43 values: 43
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x43) variants: 0 (x43)
'value': 'value':
type: integer type: integer
path: Item.backpack.system.hp.value path: backpack.system.hp.value
is_null: false is_null: false
values: 43 values: 43
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x43) variants: 0 (x43)
'level': 'level':
type: object type: object
path: Item.backpack.system.level path: backpack.system.level
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'value': 'value':
type: integer type: integer
path: Item.backpack.system.level.value path: backpack.system.level.value
is_null: false is_null: false
values: 43 values: 43
different_values: 17 different_values: 17
variants: variants:
- 0 (x7) - 0 (x7)
- 13 (x5) - 13 (x5)
- 11 (x4)
- 4 (x4) - 4 (x4)
- 9 (x4) - 9 (x4)
- 11 (x4)
- 7 (x3) - 7 (x3)
- 12 (x2)
- 3 (x2)
- 6 (x2) - 6 (x2)
- 3 (x2)
- 15 (x2) - 15 (x2)
- 12 (x2)
- 17 (x2) - 17 (x2)
- 5 (x1)
- 8 (x1)
- 14 (x1)
- 20 (x1)
- 21 (x1) - 21 (x1)
- 8 (x1)
- 20 (x1)
- 5 (x1)
- 2 (x1) - 2 (x1)
- 14 (x1)
'material': 'material':
type: object type: object
path: Item.backpack.system.material path: backpack.system.material
is_null: false is_null: false
values: 43 values: 43
schema: schema:
[grade]: [grade]:
type: type:
path: Item.backpack.system.material.grade path: backpack.system.material.grade
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
[type]: [type]:
type: type:
path: Item.backpack.system.material.type path: backpack.system.material.type
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
[containerId]:
type:
path: backpack.system.containerId
is_null: true
values: 0
is_empty: true
'hardness':
type: integer
path: backpack.system.hardness
is_null: false
values: 43
different_values: 1 (all same)
variants: 0 (x43)
'price': 'price':
type: object type: object
path: Item.backpack.system.price path: backpack.system.price
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'value': 'value':
type: object type: object
path: Item.backpack.system.price.value path: backpack.system.price.value
is_null: false is_null: false
values: 43 values: 43
schema: schema:
[cp]: [cp]:
type: integer type: integer
path: Item.backpack.system.price.value.cp path: backpack.system.price.value.cp
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x1) variants: 1 (x1)
[gp]: [gp]:
type: integer type: integer
path: Item.backpack.system.price.value.gp path: backpack.system.price.value.gp
is_null: true is_null: true
values: 31 values: 31
different_values: 23 different_values: 23
variants: [omitted] variants: [omitted]
[sp]: [sp]:
type: integer type: integer
path: Item.backpack.system.price.value.sp path: backpack.system.price.value.sp
is_null: true is_null: true
values: 4 values: 4
different_values: 4 different_values: 4
variants: variants:
- 1 (x1) - 1 (x1)
- 6 (x1)
- 5 (x1) - 5 (x1)
- 2 (x1) - 2 (x1)
- 6 (x1)
'publication': 'publication':
type: object type: object
path: Item.backpack.system.publication path: backpack.system.publication
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'license': 'license':
type: string type: string
path: Item.backpack.system.publication.license path: backpack.system.publication.license
is_null: false is_null: false
values: 43 values: 43
different_values: 2 different_values: 2
@@ -259,7 +344,7 @@ schema:
- "OGL" (x20) - "OGL" (x20)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.backpack.system.publication.remaster path: backpack.system.publication.remaster
is_null: false is_null: false
values: 43 values: 43
different_values: 2 different_values: 2
@@ -268,7 +353,7 @@ schema:
- False (x20) - False (x20)
'title': 'title':
type: string type: string
path: Item.backpack.system.publication.title path: backpack.system.publication.title
is_null: false is_null: false
values: 43 values: 43
different_values: 17 different_values: 17
@@ -276,23 +361,23 @@ schema:
- "Pathfinder GM Core" (x8) - "Pathfinder GM Core" (x8)
- "Pathfinder Player Core" (x5) - "Pathfinder Player Core" (x5)
- "Pathfinder Lost Omens Firebrands" (x5) - "Pathfinder Lost Omens Firebrands" (x5)
- "Pathfinder #208: Hoof, Cinder, and Storm" (x4)
- "Pathfinder Guns & Gears" (x4) - "Pathfinder Guns & Gears" (x4)
- "Pathfinder #208: Hoof, Cinder, and Storm" (x4)
- "Pathfinder Treasure Vault" (x3) - "Pathfinder Treasure Vault" (x3)
- "Pathfinder Gamemastery Guide" (x3) - "Pathfinder Gamemastery Guide" (x3)
- "Pathfinder Core Rulebook" (x2) - "Pathfinder Core Rulebook" (x2)
- "Pathfinder #155: Lord of the Black Sands" (x1)
- "Pathfinder #168: King of the Mountain" (x1)
- "Pathfinder War of Immortals" (x1)
- "Pathfinder Lost Omens The Grand Bazaar" (x1)
- "Pathfinder Howl of the Wild" (x1)
- "Pathfinder Lost Omens Character Guide" (x1) - "Pathfinder Lost Omens Character Guide" (x1)
- "Pathfinder #206: Bring the House Down" (x1) - "Pathfinder #206: Bring the House Down" (x1)
- "Pathfinder Lost Omens Pathfinder Society Guide" (x1)
- "Pathfinder Secrets of Magic" (x1) - "Pathfinder Secrets of Magic" (x1)
- "Pathfinder #168: King of the Mountain" (x1)
- "Pathfinder #155: Lord of the Black Sands" (x1)
- "Pathfinder Howl of the Wild" (x1)
- "Pathfinder War of Immortals" (x1)
- "Pathfinder Lost Omens Pathfinder Society Guide" (x1)
- "Pathfinder Lost Omens The Grand Bazaar" (x1)
'quantity': 'quantity':
type: integer type: integer
path: Item.backpack.system.quantity path: backpack.system.quantity
is_null: false is_null: false
values: 43 values: 43
different_values: 2 different_values: 2
@@ -301,19 +386,26 @@ schema:
- 5 (x1) - 5 (x1)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.backpack.system.rules path: backpack.system.rules
is_null: false is_null: false
values: 43 values: 43
'size': 'size':
type: string type: string
path: Item.backpack.system.size path: backpack.system.size
is_null: false is_null: false
values: 43 values: 43
different_values: 1 (all same) different_values: 1 (all same)
variants: "med" (x43) variants: "med" (x43)
'slug':
type: string
path: backpack.system.slug
is_null: false
values: 43
different_values: 43 (all different)
variants: [omitted]
'stowing': 'stowing':
type: boolean type: boolean
path: Item.backpack.system.stowing path: backpack.system.stowing
is_null: false is_null: false
values: 43 values: 43
different_values: 2 different_values: 2
@@ -322,13 +414,13 @@ schema:
- False (x17) - False (x17)
'traits': 'traits':
type: object type: object
path: Item.backpack.system.traits path: backpack.system.traits
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.backpack.system.traits.rarity path: backpack.system.traits.rarity
is_null: false is_null: false
values: 43 values: 43
different_values: 4 different_values: 4
@@ -339,14 +431,14 @@ schema:
- "unique" (x1) - "unique" (x1)
'value': 'value':
type: array<string> type: array<string>
path: Item.backpack.system.traits.value path: backpack.system.traits.value
is_null: false is_null: false
values: 43 values: 43
min_count: 0 min_count: 0
max_count: 5 max_count: 5
value_type: value_type:
type: string type: string
path: Item.backpack.system.traits.value.[] path: backpack.system.traits.value.[]
is_null: false is_null: false
values: 90 values: 90
different_values: 9 different_values: 9
@@ -355,26 +447,20 @@ schema:
- "extradimensional" (x30) - "extradimensional" (x30)
- "invested" (x14) - "invested" (x14)
- "cursed" (x5) - "cursed" (x5)
- "divine" (x2)
- "healing" (x2) - "healing" (x2)
- "divine" (x2)
- "artifact" (x1)
- "companion" (x1) - "companion" (x1)
- "illusion" (x1) - "illusion" (x1)
- "artifact" (x1)
[containerId]:
type:
path: Item.backpack.system.containerId
is_null: true
values: 0
is_empty: true
'usage': 'usage':
type: object type: object
path: Item.backpack.system.usage path: backpack.system.usage
is_null: false is_null: false
values: 43 values: 43
schema: schema:
'value': 'value':
type: string type: string
path: Item.backpack.system.usage.value path: backpack.system.usage.value
is_null: false is_null: false
values: 43 values: 43
different_values: 5 different_values: 5
@@ -382,11 +468,11 @@ schema:
- "worn" (x19) - "worn" (x19)
- "held-in-two-hands" (x13) - "held-in-two-hands" (x13)
- "wornbackpack" (x7) - "wornbackpack" (x7)
- "held-in-one-hand" (x2)
- "worngarment" (x2) - "worngarment" (x2)
- "held-in-one-hand" (x2)
'type': 'type':
type: string type: string
path: Item.backpack.type path: backpack.type
is_null: false is_null: false
values: 43 values: 43
different_values: 1 (all same) different_values: 1 (all same)
@@ -1,16 +1,63 @@
name: Item.campaignFeature name: campaignFeature
values: 115 values: 115
schema: schema:
'_id': '_id':
type: string type: string
path: Item.campaignFeature._id path: campaignFeature._id
is_null: false is_null: false
values: 115 values: 115
different_values: 115 (all different) different_values: 115 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: campaignFeature._stats
is_null: false
values: 115
schema:
'compendiumSource':
type: string
path: campaignFeature._stats.compendiumSource
is_null: false
values: 115
different_values: 115 (all different)
variants: [omitted]
'coreVersion':
type: string
path: campaignFeature._stats.coreVersion
is_null: false
values: 115
different_values: 1 (all same)
variants: "13.344" (x115)
'systemId':
type: string
path: campaignFeature._stats.systemId
is_null: false
values: 115
different_values: 1 (all same)
variants: "pf2e" (x115)
'systemVersion':
type: string
path: campaignFeature._stats.systemVersion
is_null: false
values: 115
different_values: 1 (all same)
variants: "7.1.0" (x115)
'effects':
type: array<>
path: campaignFeature.effects
is_null: false
values: 115
min_count: 0
max_count: 0
value_type:
type:
path: campaignFeature.effects.[]
is_null: false
values: 0
is_empty: true
'folder': 'folder':
type: string type: string
path: Item.campaignFeature.folder path: campaignFeature.folder
is_null: false is_null: false
values: 115 values: 115
different_values: 7 different_values: 7
@@ -24,7 +71,7 @@ schema:
- "tavHHn3vqI7bCnl6" (x2) - "tavHHn3vqI7bCnl6" (x2)
'img': 'img':
type: string type: string
path: Item.campaignFeature.img path: campaignFeature.img
is_null: false is_null: false
values: 115 values: 115
different_values: 6 different_values: 6
@@ -33,30 +80,49 @@ schema:
- "systems/pf2e/icons/default-icons/campaignFeature.svg" (x49) - "systems/pf2e/icons/default-icons/campaignFeature.svg" (x49)
- "systems/pf2e/icons/actions/TwoActions.webp" (x7) - "systems/pf2e/icons/actions/TwoActions.webp" (x7)
- "systems/pf2e/icons/actions/OneAction.webp" (x6) - "systems/pf2e/icons/actions/OneAction.webp" (x6)
- "systems/pf2e/icons/actions/ThreeActions.webp" (x2)
- "systems/pf2e/icons/actions/Reaction.webp" (x2) - "systems/pf2e/icons/actions/Reaction.webp" (x2)
- "systems/pf2e/icons/actions/ThreeActions.webp" (x2)
'name': 'name':
type: string type: string
path: Item.campaignFeature.name path: campaignFeature.name
is_null: false is_null: false
values: 115 values: 115
different_values: 115 (all different) different_values: 115 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.campaignFeature.system path: campaignFeature.system
is_null: false is_null: false
values: 115 values: 115
schema: schema:
'_migration':
type: object
path: campaignFeature.system._migration
is_null: false
values: 115
schema:
[previous]:
type:
path: campaignFeature.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: campaignFeature.system._migration.version
is_null: false
values: 115
different_values: 1 (all same)
variants: 0,939 (x115)
'actionType': 'actionType':
type: object type: object
path: Item.campaignFeature.system.actionType path: campaignFeature.system.actionType
is_null: false is_null: false
values: 115 values: 115
schema: schema:
'value': 'value':
type: string type: string
path: Item.campaignFeature.system.actionType.value path: campaignFeature.system.actionType.value
is_null: false is_null: false
values: 115 values: 115
different_values: 3 different_values: 3
@@ -66,13 +132,13 @@ schema:
- "reaction" (x2) - "reaction" (x2)
'actions': 'actions':
type: object type: object
path: Item.campaignFeature.system.actions path: campaignFeature.system.actions
is_null: false is_null: false
values: 115 values: 115
schema: schema:
[value]: [value]:
type: integer type: integer
path: Item.campaignFeature.system.actions.value path: campaignFeature.system.actions.value
is_null: true is_null: true
values: 15 values: 15
different_values: 3 different_values: 3
@@ -82,14 +148,14 @@ schema:
- 3 (x2) - 3 (x2)
'campaign': 'campaign':
type: string type: string
path: Item.campaignFeature.system.campaign path: campaignFeature.system.campaign
is_null: false is_null: false
values: 115 values: 115
different_values: 1 (all same) different_values: 1 (all same)
variants: "kingmaker" (x115) variants: "kingmaker" (x115)
'category': 'category':
type: string type: string
path: Item.campaignFeature.system.category path: campaignFeature.system.category
is_null: false is_null: false
values: 115 values: 115
different_values: 5 different_values: 5
@@ -101,26 +167,26 @@ schema:
- "kingdom-feature" (x9) - "kingdom-feature" (x9)
'description': 'description':
type: object type: object
path: Item.campaignFeature.system.description path: campaignFeature.system.description
is_null: false is_null: false
values: 115 values: 115
schema: schema:
'value': 'value':
type: string type: string
path: Item.campaignFeature.system.description.value path: campaignFeature.system.description.value
is_null: false is_null: false
values: 115 values: 115
different_values: 115 (all different) different_values: 115 (all different)
variants: [omitted] variants: [omitted]
[level]: [level]:
type: object type: object
path: Item.campaignFeature.system.level path: campaignFeature.system.level
is_null: true is_null: true
values: 49 values: 49
schema: schema:
'value': 'value':
type: integer type: integer
path: Item.campaignFeature.system.level.value path: campaignFeature.system.level.value
is_null: false is_null: false
values: 49 values: 49
different_values: 12 different_values: 12
@@ -133,75 +199,75 @@ schema:
- 6 (x2) - 6 (x2)
- 11 (x2) - 11 (x2)
- 4 (x2) - 4 (x2)
- 9 (x1)
- 12 (x1) - 12 (x1)
- 20 (x1) - 20 (x1)
- 9 (x1)
- 10 (x1) - 10 (x1)
[location]: [location]:
type: type:
path: Item.campaignFeature.system.location path: campaignFeature.system.location
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'prerequisites': 'prerequisites':
type: object type: object
path: Item.campaignFeature.system.prerequisites path: campaignFeature.system.prerequisites
is_null: false is_null: false
values: 115 values: 115
schema: schema:
'value': 'value':
type: array<object> type: array<object>
path: Item.campaignFeature.system.prerequisites.value path: campaignFeature.system.prerequisites.value
is_null: false is_null: false
values: 115 values: 115
min_count: 0 min_count: 0
max_count: 1 max_count: 1
value_type: value_type:
type: object type: object
path: Item.campaignFeature.system.prerequisites.value.[] path: campaignFeature.system.prerequisites.value.[]
is_null: false is_null: false
values: 10 values: 10
schema: schema:
'value': 'value':
type: string type: string
path: Item.campaignFeature.system.prerequisites.value.[].value path: campaignFeature.system.prerequisites.value.[].value
is_null: false is_null: false
values: 10 values: 10
different_values: 10 different_values: 10
variants: variants:
- "trained in Warfare" (x1)
- "Loyalty 14" (x1)
- "trained in Defense" (x1)
- "trained in Industry" (x1)
- "trained in at least three skills" (x1)
- "Economy 14" (x1)
- "trained in Wilderness" (x1)
- "trained in Magic" (x1)
- "trained in Politics" (x1)
- "Stability 14" (x1) - "Stability 14" (x1)
- "trained in Industry" (x1)
- "trained in Politics" (x1)
- "trained in at least three skills" (x1)
- "trained in Defense" (x1)
- "trained in Magic" (x1)
- "Economy 14" (x1)
- "Loyalty 14" (x1)
- "trained in Wilderness" (x1)
- "trained in Warfare" (x1)
'publication': 'publication':
type: object type: object
path: Item.campaignFeature.system.publication path: campaignFeature.system.publication
is_null: false is_null: false
values: 115 values: 115
schema: schema:
'license': 'license':
type: string type: string
path: Item.campaignFeature.system.publication.license path: campaignFeature.system.publication.license
is_null: false is_null: false
values: 115 values: 115
different_values: 1 (all same) different_values: 1 (all same)
variants: "OGL" (x115) variants: "OGL" (x115)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.campaignFeature.system.publication.remaster path: campaignFeature.system.publication.remaster
is_null: false is_null: false
values: 115 values: 115
different_values: 1 (all same) different_values: 1 (all same)
variants: False (x115) variants: False (x115)
'title': 'title':
type: string type: string
path: Item.campaignFeature.system.publication.title path: campaignFeature.system.publication.title
is_null: false is_null: false
values: 115 values: 115
different_values: 2 different_values: 2
@@ -210,32 +276,39 @@ schema:
- "" (x2) - "" (x2)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.campaignFeature.system.rules path: campaignFeature.system.rules
is_null: false is_null: false
values: 115 values: 115
'slug':
type: string
path: campaignFeature.system.slug
is_null: false
values: 115
different_values: 115 (all different)
variants: [omitted]
'traits': 'traits':
type: object type: object
path: Item.campaignFeature.system.traits path: campaignFeature.system.traits
is_null: false is_null: false
values: 115 values: 115
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.campaignFeature.system.traits.rarity path: campaignFeature.system.traits.rarity
is_null: false is_null: false
values: 115 values: 115
different_values: 1 (all same) different_values: 1 (all same)
variants: "common" (x115) variants: "common" (x115)
'value': 'value':
type: array<string> type: array<string>
path: Item.campaignFeature.system.traits.value path: campaignFeature.system.traits.value
is_null: false is_null: false
values: 115 values: 115
min_count: 0 min_count: 0
max_count: 4 max_count: 4
value_type: value_type:
type: string type: string
path: Item.campaignFeature.system.traits.value.[] path: campaignFeature.system.traits.value.[]
is_null: false is_null: false
values: 230 values: 230
different_values: 18 different_values: 18
@@ -256,37 +329,37 @@ schema:
- "morale" (x3) - "morale" (x3)
- "fortune" (x3) - "fortune" (x3)
- "civic" (x2) - "civic" (x2)
- "upkeep" (x1)
- "skill" (x1) - "skill" (x1)
- "upkeep" (x1)
[requirements]: [requirements]:
type: object type: object
path: Item.campaignFeature.system.requirements path: campaignFeature.system.requirements
is_null: true is_null: true
values: 41 values: 41
schema: schema:
'value': 'value':
type: string type: string
path: Item.campaignFeature.system.requirements.value path: campaignFeature.system.requirements.value
is_null: false is_null: false
values: 41 values: 41
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x41) variants: "" (x41)
[trigger]: [trigger]:
type: object type: object
path: Item.campaignFeature.system.trigger path: campaignFeature.system.trigger
is_null: true is_null: true
values: 41 values: 41
schema: schema:
'value': 'value':
type: string type: string
path: Item.campaignFeature.system.trigger.value path: campaignFeature.system.trigger.value
is_null: false is_null: false
values: 41 values: 41
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x41) variants: "" (x41)
'type': 'type':
type: string type: string
path: Item.campaignFeature.type path: campaignFeature.type
is_null: false is_null: false
values: 115 values: 115
different_values: 1 (all same) different_values: 1 (all same)
File diff suppressed because it is too large Load Diff
@@ -1,49 +1,115 @@
name: Item.class name: class
values: 25 values: 25
schema: schema:
'_id': '_id':
type: string type: string
path: Item.class._id path: class._id
is_null: false is_null: false
values: 25 values: 25
different_values: 25 (all different) different_values: 25 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: class._stats
is_null: false
values: 25
schema:
'compendiumSource':
type: string
path: class._stats.compendiumSource
is_null: false
values: 25
different_values: 25 (all different)
variants: [omitted]
'coreVersion':
type: string
path: class._stats.coreVersion
is_null: false
values: 25
different_values: 1 (all same)
variants: "13.344" (x25)
'systemId':
type: string
path: class._stats.systemId
is_null: false
values: 25
different_values: 1 (all same)
variants: "pf2e" (x25)
'systemVersion':
type: string
path: class._stats.systemVersion
is_null: false
values: 25
different_values: 1 (all same)
variants: "7.1.0" (x25)
'effects':
type: array<>
path: class.effects
is_null: false
values: 25
min_count: 0
max_count: 0
value_type:
type:
path: class.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.class.img path: class.img
is_null: false is_null: false
values: 25 values: 25
different_values: 21 different_values: 21
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.class.name path: class.name
is_null: false is_null: false
values: 25 values: 25
different_values: 25 (all different) different_values: 25 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.class.system path: class.system
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'_migration':
type: object
path: class.system._migration
is_null: false
values: 25
schema:
[previous]:
type:
path: class.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: class.system._migration.version
is_null: false
values: 25
different_values: 1 (all same)
variants: 0,939 (x25)
'ancestryFeatLevels': 'ancestryFeatLevels':
type: object type: object
path: Item.class.system.ancestryFeatLevels path: class.system.ancestryFeatLevels
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: array<integer> type: array<integer>
path: Item.class.system.ancestryFeatLevels.value path: class.system.ancestryFeatLevels.value
is_null: false is_null: false
values: 25 values: 25
min_count: 5 min_count: 5
max_count: 5 max_count: 5
value_type: value_type:
type: integer type: integer
path: Item.class.system.ancestryFeatLevels.value.[] path: class.system.ancestryFeatLevels.value.[]
is_null: false is_null: false
values: 125 values: 125
different_values: 5 different_values: 5
@@ -55,13 +121,13 @@ schema:
- 17 (x25) - 17 (x25)
'attacks': 'attacks':
type: object type: object
path: Item.class.system.attacks path: class.system.attacks
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'advanced': 'advanced':
type: integer type: integer
path: Item.class.system.attacks.advanced path: class.system.attacks.advanced
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -70,7 +136,7 @@ schema:
- 1 (x1) - 1 (x1)
'martial': 'martial':
type: integer type: integer
path: Item.class.system.attacks.martial path: class.system.attacks.martial
is_null: false is_null: false
values: 25 values: 25
different_values: 3 different_values: 3
@@ -80,24 +146,24 @@ schema:
- 2 (x1) - 2 (x1)
'other': 'other':
type: object type: object
path: Item.class.system.attacks.other path: class.system.attacks.other
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'name': 'name':
type: string type: string
path: Item.class.system.attacks.other.name path: class.system.attacks.other.name
is_null: false is_null: false
values: 25 values: 25
different_values: 4 different_values: 4
variants: variants:
- "" (x22) - "" (x22)
- "Alchemical Bombs" (x1)
- "Deity's favored weapon" (x1) - "Deity's favored weapon" (x1)
- "Alchemical Bombs" (x1)
- "Simple Firearms, Martial Firearms" (x1) - "Simple Firearms, Martial Firearms" (x1)
'rank': 'rank':
type: integer type: integer
path: Item.class.system.attacks.other.rank path: class.system.attacks.other.rank
is_null: false is_null: false
values: 25 values: 25
different_values: 3 different_values: 3
@@ -107,7 +173,7 @@ schema:
- 2 (x1) - 2 (x1)
'simple': 'simple':
type: integer type: integer
path: Item.class.system.attacks.simple path: class.system.attacks.simple
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -116,7 +182,7 @@ schema:
- 2 (x1) - 2 (x1)
'unarmed': 'unarmed':
type: integer type: integer
path: Item.class.system.attacks.unarmed path: class.system.attacks.unarmed
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -125,20 +191,20 @@ schema:
- 2 (x1) - 2 (x1)
'classFeatLevels': 'classFeatLevels':
type: object type: object
path: Item.class.system.classFeatLevels path: class.system.classFeatLevels
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: array<integer> type: array<integer>
path: Item.class.system.classFeatLevels.value path: class.system.classFeatLevels.value
is_null: false is_null: false
values: 25 values: 25
min_count: 10 min_count: 10
max_count: 11 max_count: 11
value_type: value_type:
type: integer type: integer
path: Item.class.system.classFeatLevels.value.[] path: class.system.classFeatLevels.value.[]
is_null: false is_null: false
values: 264 values: 264
different_values: 11 different_values: 11
@@ -156,13 +222,13 @@ schema:
- 1 (x14) - 1 (x14)
'defenses': 'defenses':
type: object type: object
path: Item.class.system.defenses path: class.system.defenses
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'heavy': 'heavy':
type: integer type: integer
path: Item.class.system.defenses.heavy path: class.system.defenses.heavy
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -171,7 +237,7 @@ schema:
- 1 (x2) - 1 (x2)
'light': 'light':
type: integer type: integer
path: Item.class.system.defenses.light path: class.system.defenses.light
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -180,7 +246,7 @@ schema:
- 0 (x7) - 0 (x7)
'medium': 'medium':
type: integer type: integer
path: Item.class.system.defenses.medium path: class.system.defenses.medium
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -189,7 +255,7 @@ schema:
- 1 (x12) - 1 (x12)
'unarmored': 'unarmored':
type: integer type: integer
path: Item.class.system.defenses.unarmored path: class.system.defenses.unarmored
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -198,33 +264,33 @@ schema:
- 2 (x1) - 2 (x1)
'description': 'description':
type: object type: object
path: Item.class.system.description path: class.system.description
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: string type: string
path: Item.class.system.description.value path: class.system.description.value
is_null: false is_null: false
values: 25 values: 25
different_values: 25 (all different) different_values: 25 (all different)
variants: [omitted] variants: [omitted]
'generalFeatLevels': 'generalFeatLevels':
type: object type: object
path: Item.class.system.generalFeatLevels path: class.system.generalFeatLevels
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: array<integer> type: array<integer>
path: Item.class.system.generalFeatLevels.value path: class.system.generalFeatLevels.value
is_null: false is_null: false
values: 25 values: 25
min_count: 5 min_count: 5
max_count: 5 max_count: 5
value_type: value_type:
type: integer type: integer
path: Item.class.system.generalFeatLevels.value.[] path: class.system.generalFeatLevels.value.[]
is_null: false is_null: false
values: 125 values: 125
different_values: 5 different_values: 5
@@ -236,7 +302,7 @@ schema:
- 19 (x25) - 19 (x25)
'hp': 'hp':
type: integer type: integer
path: Item.class.system.hp path: class.system.hp
is_null: false is_null: false
values: 25 values: 25
different_values: 4 different_values: 4
@@ -247,32 +313,32 @@ schema:
- 12 (x1) - 12 (x1)
'items': 'items':
type: dict<string, object> type: dict<string, object>
path: Item.class.system.items path: class.system.items
is_null: false is_null: false
values: 25 values: 25
_key: _key:
type: string type: string
path: Item.class.system.items.[key] path: class.system.items.[key]
is_null: false is_null: false
values: 484 values: 484
different_values: 484 different_values: 484
variants: [omitted] variants: [omitted]
_value: _value:
type: object type: object
path: Item.class.system.items.[value] path: class.system.items.[value]
is_null: false is_null: false
values: 484 values: 484
schema: schema:
'img': 'img':
type: string type: string
path: Item.class.system.items.[value].img path: class.system.items.[value].img
is_null: false is_null: false
values: 484 values: 484
different_values: 247 different_values: 247
variants: [omitted] variants: [omitted]
'level': 'level':
type: integer type: integer
path: Item.class.system.items.[value].level path: class.system.items.[value].level
is_null: false is_null: false
values: 484 values: 484
different_values: 10 different_values: 10
@@ -289,47 +355,47 @@ schema:
- 5 (x28) - 5 (x28)
'name': 'name':
type: string type: string
path: Item.class.system.items.[value].name path: class.system.items.[value].name
is_null: false is_null: false
values: 484 values: 484
different_values: 334 different_values: 334
variants: [omitted] variants: [omitted]
'uuid': 'uuid':
type: string type: string
path: Item.class.system.items.[value].uuid path: class.system.items.[value].uuid
is_null: false is_null: false
values: 484 values: 484
different_values: 330 different_values: 330
variants: [omitted] variants: [omitted]
'keyAbility': 'keyAbility':
type: object type: object
path: Item.class.system.keyAbility path: class.system.keyAbility
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: array<string> type: array<string>
path: Item.class.system.keyAbility.value path: class.system.keyAbility.value
is_null: false is_null: false
values: 25 values: 25
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.class.system.keyAbility.value.[] path: class.system.keyAbility.value.[]
is_null: false is_null: false
values: 30 values: 30
different_values: 6 different_values: 6
variants: variants:
- "dex" (x9) - "dex" (x9)
- "str" (x7) - "str" (x7)
- "int" (x5)
- "cha" (x5) - "cha" (x5)
- "int" (x5)
- "wis" (x3) - "wis" (x3)
- "con" (x1) - "con" (x1)
'perception': 'perception':
type: integer type: integer
path: Item.class.system.perception path: class.system.perception
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -338,13 +404,13 @@ schema:
- 2 (x9) - 2 (x9)
'publication': 'publication':
type: object type: object
path: Item.class.system.publication path: class.system.publication
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'license': 'license':
type: string type: string
path: Item.class.system.publication.license path: class.system.publication.license
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -353,7 +419,7 @@ schema:
- "OGL" (x5) - "OGL" (x5)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.class.system.publication.remaster path: class.system.publication.remaster
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -362,32 +428,32 @@ schema:
- False (x4) - False (x4)
'title': 'title':
type: string type: string
path: Item.class.system.publication.title path: class.system.publication.title
is_null: false is_null: false
values: 25 values: 25
different_values: 7 different_values: 7
variants: variants:
- "Pathfinder Player Core 2" (x8) - "Pathfinder Player Core 2" (x8)
- "Pathfinder Player Core" (x8) - "Pathfinder Player Core" (x8)
- "Pathfinder War of Immortals" (x2)
- "Pathfinder Guns & Gears" (x2) - "Pathfinder Guns & Gears" (x2)
- "Pathfinder War of Immortals" (x2)
- "Pathfinder Secrets of Magic" (x2) - "Pathfinder Secrets of Magic" (x2)
- "Pathfinder Dark Archive" (x2) - "Pathfinder Dark Archive" (x2)
- "Pathfinder Rage of Elements" (x1) - "Pathfinder Rage of Elements" (x1)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.class.system.rules path: class.system.rules
is_null: false is_null: false
values: 25 values: 25
'savingThrows': 'savingThrows':
type: object type: object
path: Item.class.system.savingThrows path: class.system.savingThrows
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'fortitude': 'fortitude':
type: integer type: integer
path: Item.class.system.savingThrows.fortitude path: class.system.savingThrows.fortitude
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -396,7 +462,7 @@ schema:
- 1 (x12) - 1 (x12)
'reflex': 'reflex':
type: integer type: integer
path: Item.class.system.savingThrows.reflex path: class.system.savingThrows.reflex
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -405,7 +471,7 @@ schema:
- 2 (x9) - 2 (x9)
'will': 'will':
type: integer type: integer
path: Item.class.system.savingThrows.will path: class.system.savingThrows.will
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -414,20 +480,20 @@ schema:
- 1 (x5) - 1 (x5)
'skillFeatLevels': 'skillFeatLevels':
type: object type: object
path: Item.class.system.skillFeatLevels path: class.system.skillFeatLevels
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: array<integer> type: array<integer>
path: Item.class.system.skillFeatLevels.value path: class.system.skillFeatLevels.value
is_null: false is_null: false
values: 25 values: 25
min_count: 10 min_count: 10
max_count: 20 max_count: 20
value_type: value_type:
type: integer type: integer
path: Item.class.system.skillFeatLevels.value.[] path: class.system.skillFeatLevels.value.[]
is_null: false is_null: false
values: 272 values: 272
different_values: 20 different_values: 20
@@ -454,20 +520,20 @@ schema:
- 1 (x1) - 1 (x1)
'skillIncreaseLevels': 'skillIncreaseLevels':
type: object type: object
path: Item.class.system.skillIncreaseLevels path: class.system.skillIncreaseLevels
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'value': 'value':
type: array<integer> type: array<integer>
path: Item.class.system.skillIncreaseLevels.value path: class.system.skillIncreaseLevels.value
is_null: false is_null: false
values: 25 values: 25
min_count: 9 min_count: 9
max_count: 19 max_count: 19
value_type: value_type:
type: integer type: integer
path: Item.class.system.skillIncreaseLevels.value.[] path: class.system.skillIncreaseLevels.value.[]
is_null: false is_null: false
values: 245 values: 245
different_values: 19 different_values: 19
@@ -491,9 +557,16 @@ schema:
- 16 (x2) - 16 (x2)
- 18 (x2) - 18 (x2)
- 20 (x2) - 20 (x2)
'slug':
type: string
path: class.system.slug
is_null: false
values: 25
different_values: 25 (all different)
variants: [omitted]
'spellcasting': 'spellcasting':
type: integer type: integer
path: Item.class.system.spellcasting path: class.system.spellcasting
is_null: false is_null: false
values: 25 values: 25
different_values: 2 different_values: 2
@@ -502,13 +575,13 @@ schema:
- 1 (x12) - 1 (x12)
'trainedSkills': 'trainedSkills':
type: object type: object
path: Item.class.system.trainedSkills path: class.system.trainedSkills
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'additional': 'additional':
type: integer type: integer
path: Item.class.system.trainedSkills.additional path: class.system.trainedSkills.additional
is_null: false is_null: false
values: 25 values: 25
different_values: 4 different_values: 4
@@ -519,7 +592,7 @@ schema:
- 7 (x1) - 7 (x1)
[custom]: [custom]:
type: string type: string
path: Item.class.system.trainedSkills.custom path: class.system.trainedSkills.custom
is_null: true is_null: true
values: 7 values: 7
different_values: 2 different_values: 2
@@ -528,14 +601,14 @@ schema:
- "Esoteric Lore" (x1) - "Esoteric Lore" (x1)
'value': 'value':
type: array<string> type: array<string>
path: Item.class.system.trainedSkills.value path: class.system.trainedSkills.value
is_null: false is_null: false
values: 25 values: 25
min_count: 0 min_count: 0
max_count: 4 max_count: 4
value_type: value_type:
type: string type: string
path: Item.class.system.trainedSkills.value.[] path: class.system.trainedSkills.value.[]
is_null: false is_null: false
values: 23 values: 23
different_values: 11 different_values: 11
@@ -545,21 +618,21 @@ schema:
- "nature" (x3) - "nature" (x3)
- "arcana" (x3) - "arcana" (x3)
- "crafting" (x2) - "crafting" (x2)
- "athletics" (x1)
- "performance" (x1) - "performance" (x1)
- "society" (x1) - "society" (x1)
- "survival" (x1)
- "stealth" (x1) - "stealth" (x1)
- "acrobatics" (x1) - "acrobatics" (x1)
- "athletics" (x1)
- "survival" (x1)
'traits': 'traits':
type: object type: object
path: Item.class.system.traits path: class.system.traits
is_null: false is_null: false
values: 25 values: 25
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.class.system.traits.rarity path: class.system.traits.rarity
is_null: false is_null: false
values: 25 values: 25
different_values: 3 different_values: 3
@@ -569,20 +642,20 @@ schema:
- "rare" (x1) - "rare" (x1)
'value': 'value':
type: array<> type: array<>
path: Item.class.system.traits.value path: class.system.traits.value
is_null: false is_null: false
values: 25 values: 25
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.class.system.traits.value.[] path: class.system.traits.value.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'type': 'type':
type: string type: string
path: Item.class.type path: class.type
is_null: false is_null: false
values: 25 values: 25
different_values: 1 (all same) different_values: 1 (all same)
@@ -1,75 +1,141 @@
name: Item.condition name: condition
values: 44 values: 44
schema: schema:
'_id': '_id':
type: string type: string
path: Item.condition._id path: condition._id
is_null: false is_null: false
values: 44 values: 44
different_values: 44 (all different) different_values: 44 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: condition._stats
is_null: false
values: 44
schema:
'compendiumSource':
type: string
path: condition._stats.compendiumSource
is_null: false
values: 44
different_values: 44 (all different)
variants: [omitted]
'coreVersion':
type: string
path: condition._stats.coreVersion
is_null: false
values: 44
different_values: 1 (all same)
variants: "13.344" (x44)
'systemId':
type: string
path: condition._stats.systemId
is_null: false
values: 44
different_values: 1 (all same)
variants: "pf2e" (x44)
'systemVersion':
type: string
path: condition._stats.systemVersion
is_null: false
values: 44
different_values: 1 (all same)
variants: "7.1.0" (x44)
'effects':
type: array<>
path: condition.effects
is_null: false
values: 44
min_count: 0
max_count: 0
value_type:
type:
path: condition.effects.[]
is_null: false
values: 0
is_empty: true
'folder': 'folder':
type: string type: string
path: Item.condition.folder path: condition.folder
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "KDzP1XoF2noQvPNI" (x1) variants: "KDzP1XoF2noQvPNI" (x1)
'img': 'img':
type: string type: string
path: Item.condition.img path: condition.img
is_null: false is_null: false
values: 44 values: 44
different_values: 44 (all different) different_values: 44 (all different)
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.condition.name path: condition.name
is_null: false is_null: false
values: 44 values: 44
different_values: 44 (all different) different_values: 44 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.condition.system path: condition.system
is_null: false is_null: false
values: 44 values: 44
schema: schema:
'_migration':
type: object
path: condition.system._migration
is_null: false
values: 44
schema:
[previous]:
type:
path: condition.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: condition.system._migration.version
is_null: false
values: 44
different_values: 1 (all same)
variants: 0,939 (x44)
'description': 'description':
type: object type: object
path: Item.condition.system.description path: condition.system.description
is_null: false is_null: false
values: 44 values: 44
schema: schema:
'value': 'value':
type: string type: string
path: Item.condition.system.description.value path: condition.system.description.value
is_null: false is_null: false
values: 44 values: 44
different_values: 44 (all different) different_values: 44 (all different)
variants: [omitted] variants: [omitted]
'duration': 'duration':
type: object type: object
path: Item.condition.system.duration path: condition.system.duration
is_null: false is_null: false
values: 44 values: 44
schema: schema:
[expiry]: [expiry]:
type: type:
path: Item.condition.system.duration.expiry path: condition.system.duration.expiry
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'unit': 'unit':
type: string type: string
path: Item.condition.system.duration.unit path: condition.system.duration.unit
is_null: false is_null: false
values: 44 values: 44
different_values: 1 (all same) different_values: 1 (all same)
variants: "unlimited" (x44) variants: "unlimited" (x44)
'value': 'value':
type: integer type: integer
path: Item.condition.system.duration.value path: condition.system.duration.value
is_null: false is_null: false
values: 44 values: 44
different_values: 2 different_values: 2
@@ -78,7 +144,7 @@ schema:
- -1 (x17) - -1 (x17)
[perpetual]: [perpetual]:
type: boolean type: boolean
path: Item.condition.system.duration.perpetual path: condition.system.duration.perpetual
is_null: true is_null: true
values: 17 values: 17
different_values: 2 different_values: 2
@@ -87,54 +153,54 @@ schema:
- True (x1) - True (x1)
[text]: [text]:
type: string type: string
path: Item.condition.system.duration.text path: condition.system.duration.text
is_null: true is_null: true
values: 17 values: 17
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x17) variants: "" (x17)
[group]: [group]:
type: string type: string
path: Item.condition.system.group path: condition.system.group
is_null: true is_null: true
values: 23 values: 23
different_values: 5 different_values: 5
variants: variants:
- "senses" (x5)
- "abilities" (x5) - "abilities" (x5)
- "senses" (x5)
- "attitudes" (x5) - "attitudes" (x5)
- "death" (x4)
- "detection" (x4) - "detection" (x4)
- "death" (x4)
'overrides': 'overrides':
type: array<string> type: array<string>
path: Item.condition.system.overrides path: condition.system.overrides
is_null: false is_null: false
values: 44 values: 44
min_count: 0 min_count: 0
max_count: 4 max_count: 4
value_type: value_type:
type: string type: string
path: Item.condition.system.overrides.[] path: condition.system.overrides.[]
is_null: false is_null: false
values: 23 values: 23
different_values: 8 different_values: 8
variants: variants:
- "helpful" (x4) - "helpful" (x4)
- "indifferent" (x4) - "friendly" (x4)
- "unfriendly" (x4) - "unfriendly" (x4)
- "hostile" (x4) - "hostile" (x4)
- "friendly" (x4) - "indifferent" (x4)
- "dazzled" (x1)
- "grabbed" (x1)
- "slowed" (x1) - "slowed" (x1)
- "grabbed" (x1)
- "dazzled" (x1)
'publication': 'publication':
type: object type: object
path: Item.condition.system.publication path: condition.system.publication
is_null: false is_null: false
values: 44 values: 44
schema: schema:
'license': 'license':
type: string type: string
path: Item.condition.system.publication.license path: condition.system.publication.license
is_null: false is_null: false
values: 44 values: 44
different_values: 2 different_values: 2
@@ -143,7 +209,7 @@ schema:
- "OGL" (x1) - "OGL" (x1)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.condition.system.publication.remaster path: condition.system.publication.remaster
is_null: false is_null: false
values: 44 values: 44
different_values: 2 different_values: 2
@@ -152,7 +218,7 @@ schema:
- False (x1) - False (x1)
'title': 'title':
type: string type: string
path: Item.condition.system.publication.title path: condition.system.publication.title
is_null: false is_null: false
values: 44 values: 44
different_values: 3 different_values: 3
@@ -162,109 +228,116 @@ schema:
- "Pathfinder Adventure: Malevolence" (x1) - "Pathfinder Adventure: Malevolence" (x1)
'references': 'references':
type: object type: object
path: Item.condition.system.references path: condition.system.references
is_null: false is_null: false
values: 44 values: 44
schema: schema:
'children': 'children':
type: array<> type: array<>
path: Item.condition.system.references.children path: condition.system.references.children
is_null: false is_null: false
values: 44 values: 44
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.condition.system.references.children.[] path: condition.system.references.children.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'immunityFrom': 'immunityFrom':
type: array<> type: array<>
path: Item.condition.system.references.immunityFrom path: condition.system.references.immunityFrom
is_null: false is_null: false
values: 44 values: 44
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.condition.system.references.immunityFrom.[] path: condition.system.references.immunityFrom.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'overriddenBy': 'overriddenBy':
type: array<> type: array<>
path: Item.condition.system.references.overriddenBy path: condition.system.references.overriddenBy
is_null: false is_null: false
values: 44 values: 44
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.condition.system.references.overriddenBy.[] path: condition.system.references.overriddenBy.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'overrides': 'overrides':
type: array<> type: array<>
path: Item.condition.system.references.overrides path: condition.system.references.overrides
is_null: false is_null: false
values: 44 values: 44
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.condition.system.references.overrides.[] path: condition.system.references.overrides.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.condition.system.rules path: condition.system.rules
is_null: false is_null: false
values: 44 values: 44
'slug':
type: string
path: condition.system.slug
is_null: false
values: 44
different_values: 44 (all different)
variants: [omitted]
'traits': 'traits':
type: object type: object
path: Item.condition.system.traits path: condition.system.traits
is_null: false is_null: false
values: 44 values: 44
schema: schema:
'value': 'value':
type: array<> type: array<>
path: Item.condition.system.traits.value path: condition.system.traits.value
is_null: false is_null: false
values: 44 values: 44
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.condition.system.traits.value.[] path: condition.system.traits.value.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'value': 'value':
type: object type: object
path: Item.condition.system.value path: condition.system.value
is_null: false is_null: false
values: 44 values: 44
schema: schema:
[immutable]: [immutable]:
type: boolean type: boolean
path: Item.condition.system.value.immutable path: condition.system.value.immutable
is_null: true is_null: true
values: 8 values: 8
different_values: 1 (all same) different_values: 1 (all same)
variants: False (x8) variants: False (x8)
[value]: [value]:
type: integer type: integer
path: Item.condition.system.value.value path: condition.system.value.value
is_null: true is_null: true
values: 13 values: 13
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x13) variants: 1 (x13)
'isValued': 'isValued':
type: boolean type: boolean
path: Item.condition.system.value.isValued path: condition.system.value.isValued
is_null: false is_null: false
values: 44 values: 44
different_values: 2 different_values: 2
@@ -273,21 +346,21 @@ schema:
- True (x13) - True (x13)
[active]: [active]:
type: boolean type: boolean
path: Item.condition.system.active path: condition.system.active
is_null: true is_null: true
values: 17 values: 17
different_values: 1 (all same) different_values: 1 (all same)
variants: False (x17) variants: False (x17)
[removable]: [removable]:
type: boolean type: boolean
path: Item.condition.system.removable path: condition.system.removable
is_null: true is_null: true
values: 17 values: 17
different_values: 1 (all same) different_values: 1 (all same)
variants: False (x17) variants: False (x17)
'type': 'type':
type: string type: string
path: Item.condition.type path: condition.type
is_null: false is_null: false
values: 44 values: 44
different_values: 1 (all same) different_values: 1 (all same)
File diff suppressed because it is too large Load Diff
@@ -1,50 +1,116 @@
name: Item.deity name: deity
values: 453 values: 453
schema: schema:
'_id': '_id':
type: string type: string
path: Item.deity._id path: deity._id
is_null: false is_null: false
values: 453 values: 453
different_values: 453 (all different) different_values: 453 (all different)
variants: [omitted] variants: [omitted]
'folder': '_stats':
type: string type: object
path: Item.deity.folder path: deity._stats
is_null: false is_null: false
values: 453
schema:
'compendiumSource':
type: string
path: deity._stats.compendiumSource
is_null: false
values: 453
different_values: 453 (all different)
variants: [omitted]
'coreVersion':
type: string
path: deity._stats.coreVersion
is_null: false
values: 453
different_values: 1 (all same)
variants: "13.344" (x453)
'systemId':
type: string
path: deity._stats.systemId
is_null: false
values: 453
different_values: 1 (all same)
variants: "pf2e" (x453)
'systemVersion':
type: string
path: deity._stats.systemVersion
is_null: false
values: 453
different_values: 1 (all same)
variants: "7.1.0" (x453)
'effects':
type: array<>
path: deity.effects
is_null: false
values: 453
min_count: 0
max_count: 0
value_type:
type:
path: deity.effects.[]
is_null: false
values: 0
is_empty: true
[folder]:
type: string
path: deity.folder
is_null: true
values: 445 values: 445
different_values: 33 different_values: 33
variants: [omitted] variants: [omitted]
'img': 'img':
type: string type: string
path: Item.deity.img path: deity.img
is_null: false is_null: false
values: 453 values: 453
different_values: 108 different_values: 108
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.deity.name path: deity.name
is_null: false is_null: false
values: 453 values: 453
different_values: 453 (all different) different_values: 453 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.deity.system path: deity.system
is_null: false is_null: false
values: 453 values: 453
schema: schema:
'_migration':
type: object
path: deity.system._migration
is_null: false
values: 453
schema:
[previous]:
type:
path: deity.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: deity.system._migration.version
is_null: false
values: 453
different_values: 1 (all same)
variants: 0,939 (x453)
'attribute': 'attribute':
type: array<string> type: array<string>
path: Item.deity.system.attribute path: deity.system.attribute
is_null: false is_null: false
values: 453 values: 453
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.deity.system.attribute.[] path: deity.system.attribute.[]
is_null: false is_null: false
values: 890 values: 890
different_values: 6 different_values: 6
@@ -57,7 +123,7 @@ schema:
- "dex" (x96) - "dex" (x96)
'category': 'category':
type: string type: string
path: Item.deity.system.category path: deity.system.category
is_null: false is_null: false
values: 453 values: 453
different_values: 4 different_values: 4
@@ -68,76 +134,76 @@ schema:
- "philosophy" (x7) - "philosophy" (x7)
'description': 'description':
type: object type: object
path: Item.deity.system.description path: deity.system.description
is_null: false is_null: false
values: 453 values: 453
schema: schema:
'value': 'value':
type: string type: string
path: Item.deity.system.description.value path: deity.system.description.value
is_null: false is_null: false
values: 453 values: 453
different_values: 453 (all different) different_values: 453 (all different)
variants: [omitted] variants: [omitted]
'domains': 'domains':
type: object type: object
path: Item.deity.system.domains path: deity.system.domains
is_null: false is_null: false
values: 453 values: 453
schema: schema:
'alternate': 'alternate':
type: array<string> type: array<string>
path: Item.deity.system.domains.alternate path: deity.system.domains.alternate
is_null: false is_null: false
values: 453 values: 453
min_count: 0 min_count: 0
max_count: 5 max_count: 5
value_type: value_type:
type: string type: string
path: Item.deity.system.domains.alternate.[] path: deity.system.domains.alternate.[]
is_null: false is_null: false
values: 589 values: 591
different_values: 64 different_values: 64
variants: [omitted] variants: [omitted]
'primary': 'primary':
type: array<string> type: array<string>
path: Item.deity.system.domains.primary path: deity.system.domains.primary
is_null: false is_null: false
values: 453 values: 453
min_count: 0 min_count: 0
max_count: 7 max_count: 7
value_type: value_type:
type: string type: string
path: Item.deity.system.domains.primary.[] path: deity.system.domains.primary.[]
is_null: false is_null: false
values: 1785 values: 1785
different_values: 64 different_values: 64
variants: [omitted] variants: [omitted]
'font': 'font':
type: array<string> type: array<string>
path: Item.deity.system.font path: deity.system.font
is_null: false is_null: false
values: 453 values: 453
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.deity.system.font.[] path: deity.system.font.[]
is_null: false is_null: false
values: 577 values: 576
different_values: 2 different_values: 2
variants: variants:
- "heal" (x292) - "heal" (x292)
- "harm" (x285) - "harm" (x284)
'publication': 'publication':
type: object type: object
path: Item.deity.system.publication path: deity.system.publication
is_null: false is_null: false
values: 453 values: 453
schema: schema:
'license': 'license':
type: string type: string
path: Item.deity.system.publication.license path: deity.system.publication.license
is_null: false is_null: false
values: 453 values: 453
different_values: 2 different_values: 2
@@ -146,7 +212,7 @@ schema:
- "OGL" (x34) - "OGL" (x34)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.deity.system.publication.remaster path: deity.system.publication.remaster
is_null: false is_null: false
values: 453 values: 453
different_values: 2 different_values: 2
@@ -155,7 +221,7 @@ schema:
- False (x34) - False (x34)
'title': 'title':
type: string type: string
path: Item.deity.system.publication.title path: deity.system.publication.title
is_null: false is_null: false
values: 453 values: 453
different_values: 13 different_values: 13
@@ -163,30 +229,30 @@ schema:
- "Pathfinder Lost Omens Divine Mysteries" (x342) - "Pathfinder Lost Omens Divine Mysteries" (x342)
- "Pathfinder Lost Omens Divine Mysteries Web Supplement" (x75) - "Pathfinder Lost Omens Divine Mysteries Web Supplement" (x75)
- "Pathfinder Lost Omens Gods & Magic" (x8) - "Pathfinder Lost Omens Gods & Magic" (x8)
- "Pathfinder Blog" (x7)
- "Pathfinder Lost Omens Travel Guide" (x7) - "Pathfinder Lost Omens Travel Guide" (x7)
- "Pathfinder Lost Omens Knights of Lastwall" (x4) - "Pathfinder Blog" (x7)
- "Pathfinder Lost Omens Firebrands" (x4) - "Pathfinder Lost Omens Firebrands" (x4)
- "Pathfinder One-Shot #2: Dinner at Lionlodge" (x1) - "Pathfinder Lost Omens Knights of Lastwall" (x4)
- "Pathfinder Adventure: Night of the Gray Death" (x1)
- "Pathfinder Book of the Dead" (x1) - "Pathfinder Book of the Dead" (x1)
- "Pathfinder #203: Shepherd of Decay" (x1) - "Pathfinder #203: Shepherd of Decay" (x1)
- "" (x1)
- "Pathfinder Curtain Call Player's Guide" (x1) - "Pathfinder Curtain Call Player's Guide" (x1)
- "Pathfinder One-Shot #2: Dinner at Lionlodge" (x1)
- "" (x1)
- "Pathfinder Adventure: Night of the Gray Death" (x1)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.deity.system.rules path: deity.system.rules
is_null: false is_null: false
values: 453 values: 453
[sanctification]: [sanctification]:
type: object type: object
path: Item.deity.system.sanctification path: deity.system.sanctification
is_null: true is_null: true
values: 349 values: 349
schema: schema:
'modal': 'modal':
type: string type: string
path: Item.deity.system.sanctification.modal path: deity.system.sanctification.modal
is_null: false is_null: false
values: 349 values: 349
different_values: 2 different_values: 2
@@ -195,14 +261,14 @@ schema:
- "must" (x106) - "must" (x106)
'what': 'what':
type: array<string> type: array<string>
path: Item.deity.system.sanctification.what path: deity.system.sanctification.what
is_null: false is_null: false
values: 349 values: 349
min_count: 1 min_count: 1
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.deity.system.sanctification.what.[] path: deity.system.sanctification.what.[]
is_null: false is_null: false
values: 387 values: 387
different_values: 2 different_values: 2
@@ -211,14 +277,14 @@ schema:
- "unholy" (x176) - "unholy" (x176)
'skill': 'skill':
type: array<string> type: array<string>
path: Item.deity.system.skill path: deity.system.skill
is_null: false is_null: false
values: 453 values: 453
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.deity.system.skill.[] path: deity.system.skill.[]
is_null: false is_null: false
values: 451 values: 451
different_values: 16 different_values: 16
@@ -230,8 +296,8 @@ schema:
- "crafting" (x35) - "crafting" (x35)
- "intimidation" (x35) - "intimidation" (x35)
- "diplomacy" (x34) - "diplomacy" (x34)
- "deception" (x32)
- "occultism" (x32) - "occultism" (x32)
- "deception" (x32)
- "stealth" (x27) - "stealth" (x27)
- "medicine" (x26) - "medicine" (x26)
- "performance" (x19) - "performance" (x19)
@@ -239,14 +305,21 @@ schema:
- "acrobatics" (x14) - "acrobatics" (x14)
- "thievery" (x10) - "thievery" (x10)
- "religion" (x2) - "religion" (x2)
'slug':
type: string
path: deity.system.slug
is_null: false
values: 453
different_values: 453 (all different)
variants: [omitted]
'spells': 'spells':
type: dict<string, string> type: dict<string, string>
path: Item.deity.system.spells path: deity.system.spells
is_null: false is_null: false
values: 453 values: 453
_key: _key:
type: string type: string
path: Item.deity.system.spells.[key] path: deity.system.spells.[key]
is_null: false is_null: false
values: 1379 values: 1379
different_values: 9 different_values: 9
@@ -262,34 +335,34 @@ schema:
- "9" (x26) - "9" (x26)
_value: _value:
type: string type: string
path: Item.deity.system.spells.[value] path: deity.system.spells.[value]
is_null: false is_null: false
values: 1379 values: 1379
different_values: 295 different_values: 295
variants: [omitted] variants: [omitted]
[traits]:
type: object
path: deity.system.traits
is_null: true
values: 446
schema:
'weapons': 'weapons':
type: array<string> type: array<string>
path: Item.deity.system.weapons path: deity.system.weapons
is_null: false is_null: false
values: 453 values: 453
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.deity.system.weapons.[] path: deity.system.weapons.[]
is_null: false is_null: false
values: 468 values: 468
different_values: 99 different_values: 99
variants: [omitted] variants: [omitted]
[traits]:
type: object
path: Item.deity.system.traits
is_null: true
values: 446
schema:
'type': 'type':
type: string type: string
path: Item.deity.type path: deity.type
is_null: false is_null: false
values: 453 values: 453
different_values: 1 (all same) different_values: 1 (all same)
@@ -1,266 +1,326 @@
name: Item.effect name: effect
values: 2512 values: 2534
schema: schema:
'_id': '_id':
type: string type: string
path: Item.effect._id path: effect._id
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2511 different_values: 2533
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: effect._stats
is_null: false
values: 2534
schema:
'compendiumSource':
type: string
path: effect._stats.compendiumSource
is_null: false
values: 2534
different_values: 2534 (all different)
variants: [omitted]
'coreVersion':
type: string
path: effect._stats.coreVersion
is_null: false
values: 2534
different_values: 1 (all same)
variants: "13.344" (x2534)
'systemId':
type: string
path: effect._stats.systemId
is_null: false
values: 2534
different_values: 1 (all same)
variants: "pf2e" (x2534)
'systemVersion':
type: string
path: effect._stats.systemVersion
is_null: false
values: 2534
different_values: 1 (all same)
variants: "7.1.0" (x2534)
'effects':
type: array<>
path: effect.effects
is_null: false
values: 2534
min_count: 0
max_count: 0
value_type:
type:
path: effect.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.effect.img path: effect.img
is_null: false is_null: false
values: 2512 values: 2534
different_values: 1484 different_values: 1508
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.effect.name path: effect.name
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2507 different_values: 2529
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.effect.system path: effect.system
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
'_migration':
type: object
path: effect.system._migration
is_null: false
values: 2534
schema:
[previous]:
type:
path: effect.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: effect.system._migration.version
is_null: false
values: 2534
different_values: 1 (all same)
variants: 0,939 (x2534)
'description': 'description':
type: object type: object
path: Item.effect.system.description path: effect.system.description
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
[gm]: [gm]:
type: string type: string
path: Item.effect.system.description.gm path: effect.system.description.gm
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "<h2>Soul Degradation (Curse 7)</h2><section class=\"traits\"><p>rare</p><p>curse</p><p>magical</p></section><p>The PC's sense of self becomes subsumed by ghostly desires, eventually rendering them a senseless shell. Soul degradation doesn't increase or decrease its stage over the passage of time. Instead, each time a transmigrated PC recovers from the dying condition, they must attempt a new saving throw against this curse. Certain events or effects that the PCs might encounter in Chapter 3 of this adventure can also force them to save against soul degradation. Once the effects of transmigration end for a PC, they immediately and fully recover from soul degradation.</p><p><strong>Saving Throw</strong> @Check[will|dc:23|traits:curse,magical]</p><p><strong>Stage 1</strong> weakness 5 to positive damage</p><p><strong>Stage 2</strong> weakness 10 to positive damage</p><p><strong>Stage 3</strong> weakness 10 to positive damage, and each time the PC critically fails an attack roll or skill check they're @UUID[Compendium.pf2e.conditionitems.Item.Stunned]{Stunned 1} as their mind obsesses over the failure</p><p><strong>Stage 4</strong> as stage 3</p><p><strong>Stage 5</strong> as stage 3</p><p><strong>Stage 6</strong> The PC is reduced to an unthinking haunt. Until the curse is removed or the duration of the transmigrate ritual ends, they repeat a short loop of actions and are no longer under the control of the player (unlimited duration).</p>" (x1) variants: "<h2>Soul Degradation (Curse 7)</h2><section class=\"traits\"><p>rare</p><p>curse</p><p>magical</p></section><p>The PC's sense of self becomes subsumed by ghostly desires, eventually rendering them a senseless shell. Soul degradation doesn't increase or decrease its stage over the passage of time. Instead, each time a transmigrated PC recovers from the dying condition, they must attempt a new saving throw against this curse. Certain events or effects that the PCs might encounter in Chapter 3 of this adventure can also force them to save against soul degradation. Once the effects of transmigration end for a PC, they immediately and fully recover from soul degradation.</p><p><strong>Saving Throw</strong> @Check[will|dc:23|traits:curse,magical]</p><p><strong>Stage 1</strong> weakness 5 to positive damage</p><p><strong>Stage 2</strong> weakness 10 to positive damage</p><p><strong>Stage 3</strong> weakness 10 to positive damage, and each time the PC critically fails an attack roll or skill check they're @UUID[Compendium.pf2e.conditionitems.Item.dfCMdR4wnpbYNTix]{Stunned 1} as their mind obsesses over the failure</p><p><strong>Stage 4</strong> as stage 3</p><p><strong>Stage 5</strong> as stage 3</p><p><strong>Stage 6</strong> The PC is reduced to an unthinking haunt. Until the curse is removed or the duration of the transmigrate ritual ends, they repeat a short loop of actions and are no longer under the control of the player (unlimited duration).</p>" (x1)
'value': 'value':
type: string type: string
path: Item.effect.system.description.value path: effect.system.description.value
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2463 different_values: 2488
variants: [omitted] variants: [omitted]
'duration': 'duration':
type: object type: object
path: Item.effect.system.duration path: effect.system.duration
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
[expiry]: [expiry]:
type: string type: string
path: Item.effect.system.duration.expiry path: effect.system.duration.expiry
is_null: true is_null: true
values: 1913 values: 1931
different_values: 3 different_values: 3
variants: variants:
- "turn-start" (x1652) - "turn-start" (x1670)
- "turn-end" (x260) - "turn-end" (x260)
- "round-end" (x1) - "round-end" (x1)
'sustained': 'sustained':
type: boolean type: boolean
path: Item.effect.system.duration.sustained path: effect.system.duration.sustained
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2 different_values: 2
variants: variants:
- False (x2463) - False (x2485)
- True (x49) - True (x49)
'unit': 'unit':
type: string type: string
path: Item.effect.system.duration.unit path: effect.system.duration.unit
is_null: false is_null: false
values: 2512 values: 2534
different_values: 6 different_values: 6
variants: variants:
- "minutes" (x786) - "minutes" (x799)
- "unlimited" (x706) - "unlimited" (x709)
- "rounds" (x657) - "rounds" (x667)
- "hours" (x207) - "hours" (x203)
- "encounter" (x82) - "encounter" (x82)
- "days" (x74) - "days" (x74)
'value': 'value':
type: integer type: integer
path: Item.effect.system.duration.value path: effect.system.duration.value
is_null: false is_null: false
values: 2512 values: 2534
different_values: 17 different_values: 17
variants: variants:
- 1 (x1376) - 1 (x1395)
- -1 (x788) - -1 (x791)
- 10 (x149) - 10 (x151)
- 0 (x66) - 0 (x66)
- 5 (x26) - 5 (x26)
- 24 (x23)
- 8 (x23) - 8 (x23)
- 24 (x22)
- 3 (x17) - 3 (x17)
- 4 (x15) - 4 (x12)
- 7 (x7) - 7 (x7)
- 2 (x7)
- 30 (x7) - 30 (x7)
- 6 (x2) - 2 (x7)
- 365 (x2)
- 12 (x2) - 12 (x2)
- 20 (x2) - 20 (x2)
- 365 (x2) - 6 (x2)
- 90 (x1) - 90 (x1)
'level': 'level':
type: object type: object
path: Item.effect.system.level path: effect.system.level
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
'value': 'value':
type: integer type: integer
path: Item.effect.system.level.value path: effect.system.level.value
is_null: false is_null: false
values: 2512 values: 2534
different_values: 27 different_values: 27
variants: [omitted] variants: [omitted]
'publication': 'publication':
type: object type: object
path: Item.effect.system.publication path: effect.system.publication
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
'license': 'license':
type: string type: string
path: Item.effect.system.publication.license path: effect.system.publication.license
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2 different_values: 2
variants: variants:
- "OGL" (x1406) - "OGL" (x1400)
- "ORC" (x1106) - "ORC" (x1134)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.effect.system.publication.remaster path: effect.system.publication.remaster
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2 different_values: 2
variants: variants:
- False (x1312) - False (x1306)
- True (x1200) - True (x1228)
'title': 'title':
type: string type: string
path: Item.effect.system.publication.title path: effect.system.publication.title
is_null: false is_null: false
values: 2512 values: 2534
different_values: 151 different_values: 155
variants: [omitted] variants: [omitted]
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.effect.system.rules path: effect.system.rules
is_null: false is_null: false
values: 2512 values: 2534
'slug':
type: string
path: effect.system.slug
is_null: false
values: 2534
different_values: 2529
variants: [omitted]
'start': 'start':
type: object type: object
path: Item.effect.system.start path: effect.system.start
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
[initiative]: [initiative]:
type: type:
path: Item.effect.system.start.initiative path: effect.system.start.initiative
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'value': 'value':
type: integer type: integer
path: Item.effect.system.start.value path: effect.system.start.value
is_null: false is_null: false
values: 2512 values: 2534
different_values: 3 different_values: 3
variants: variants:
- 0 (x2505) - 0 (x2527)
- 3648 (x6) - 3648 (x6)
- 103462347 (x1) - 103462347 (x1)
'tokenIcon': 'tokenIcon':
type: object type: object
path: Item.effect.system.tokenIcon path: effect.system.tokenIcon
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
'show': 'show':
type: boolean type: boolean
path: Item.effect.system.tokenIcon.show path: effect.system.tokenIcon.show
is_null: false is_null: false
values: 2512 values: 2534
different_values: 2 different_values: 2
variants: variants:
- True (x2344) - True (x2366)
- False (x168) - False (x168)
'traits': 'traits':
type: object type: object
path: Item.effect.system.traits path: effect.system.traits
is_null: false is_null: false
values: 2512 values: 2534
schema: schema:
[rarity]: [rarity]:
type: string type: string
path: Item.effect.system.traits.rarity path: effect.system.traits.rarity
is_null: true is_null: true
values: 1251 values: 1243
different_values: 2 different_values: 2
variants: variants:
- "common" (x1250) - "common" (x1242)
- "uncommon" (x1) - "uncommon" (x1)
'value': 'value':
type: array<string> type: array<string>
path: Item.effect.system.traits.value path: effect.system.traits.value
is_null: false is_null: false
values: 2512 values: 2534
min_count: 0 min_count: 0
max_count: 1 max_count: 1
value_type: value_type:
type: string type: string
path: Item.effect.system.traits.value.[] path: effect.system.traits.value.[]
is_null: false is_null: false
values: 4 values: 4
different_values: 3 different_values: 3
variants: variants:
- "gunslinger" (x2) - "gunslinger" (x2)
- "disease" (x1)
- "wizard" (x1) - "wizard" (x1)
- "disease" (x1)
[badge]: [badge]:
type: object type: object
path: Item.effect.system.badge path: effect.system.badge
is_null: true is_null: true
values: 106 values: 105
schema: schema:
[max]:
type: integer
path: Item.effect.system.badge.max
is_null: true
values: 13
different_values: 6
variants:
- 3 (x6)
- 4 (x2)
- 20 (x2)
- 12 (x1)
- 8 (x1)
- 2 (x1)
'type': 'type':
type: string type: string
path: Item.effect.system.badge.type path: effect.system.badge.type
is_null: false is_null: false
values: 106 values: 105
different_values: 2 different_values: 2
variants: variants:
- "counter" (x70) - "counter" (x70)
- "formula" (x36) - "formula" (x35)
'value': 'value':
type: integer | string type: integer | string
path: Item.effect.system.badge.value path: effect.system.badge.value
is_null: false is_null: false
values: 106 values: 105
types: types:
- different_values: 7 - different_values: 7
variants: variants:
@@ -268,105 +328,120 @@ schema:
- 3 (x7) - 3 (x7)
- 10 (x4) - 10 (x4)
- 2 (x3) - 2 (x3)
- 5 (x2)
- 4 (x2) - 4 (x2)
- 20 (x1) - 5 (x2)
- different_values: 16 - 600 (x1)
- different_values: 17
variants: variants:
- "1d4" (x6) - "1d4" (x6)
- "1d8" (x6) - "1d8" (x5)
- "1d6" (x4) - "1d6" (x4)
- "1d20" (x3) - "1d20" (x3)
- "2d6" (x2)
- "1d3" (x2)
- "2d8" (x2)
- "(@item.level)d8" (x2)
- "(@item.level)d4" (x2) - "(@item.level)d4" (x2)
- "(@actor.flags.pf2e.gluttonsFeast)d4" (x1) - "(@item.level)d8" (x2)
- "1d3" (x2)
- "2d6" (x2)
- "(ternary(gte(@actor.flags.pf2e.corrosiveBody.rank,9),5,3))d6" (x1)
- "1d12" (x1)
- "(1 + floor(@item.origin.level / 4))d4" (x1)
- "2d8" (x1)
- "2d20kh1" (x1) - "2d20kh1" (x1)
- "4d8+10" (x1) - "4d8+10" (x1)
- "3d8" (x1) - "(@actor.flags.pf2e.spellheart.tomeOfRestorativeCleansing)d8" (x1)
- "(1 + floor(@item.origin.level / 4))d4" (x1) - "4d4" (x1)
- "1d12" (x1) - "(@actor.flags.pf2e.gluttonsFeast)d4" (x1)
- "(ternary(gte(@actor.flags.pf2e.corrosiveBody.rank,9),5,3))d6" (x1)
[evaluate]: [evaluate]:
type: boolean type: boolean
path: Item.effect.system.badge.evaluate path: effect.system.badge.evaluate
is_null: true is_null: true
values: 36 values: 35
different_values: 1 (all same) different_values: 1 (all same)
variants: True (x36) variants: True (x35)
[labels]: [labels]:
type: array<string> type: array<string>
path: Item.effect.system.badge.labels path: effect.system.badge.labels
is_null: true is_null: true
values: 38 values: 38
min_count: 2 min_count: 2
max_count: 12 max_count: 12
value_type: value_type:
type: string type: string
path: Item.effect.system.badge.labels.[] path: effect.system.badge.labels.[]
is_null: false is_null: false
values: 168 values: 168
different_values: 88 different_values: 88
variants: [omitted] variants: [omitted]
[loop]: [loop]:
type: boolean type: boolean
path: Item.effect.system.badge.loop path: effect.system.badge.loop
is_null: true is_null: true
values: 36 values: 36
different_values: 2 different_values: 2
variants: variants:
- False (x35) - False (x35)
- True (x1) - True (x1)
[max]:
type: integer
path: effect.system.badge.max
is_null: true
values: 13
different_values: 7
variants:
- 3 (x6)
- 4 (x2)
- 20 (x1)
- 600 (x1)
- 2 (x1)
- 8 (x1)
- 12 (x1)
[min]: [min]:
type: integer type: integer
path: Item.effect.system.badge.min path: effect.system.badge.min
is_null: true is_null: true
values: 4 values: 4
different_values: 3 different_values: 3
variants: variants:
- 0 (x2) - 0 (x2)
- 2 (x1)
- 5 (x1) - 5 (x1)
- 2 (x1)
[reevaluate]: [reevaluate]:
type: string type: string
path: Item.effect.system.badge.reevaluate path: effect.system.badge.reevaluate
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "turn-end" (x1) variants: "turn-end" (x1)
[target]: [target]:
type: type:
path: Item.effect.system.target path: effect.system.target
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'type': 'type':
type: string type: string
path: Item.effect.type path: effect.type
is_null: false is_null: false
values: 2512 values: 2534
different_values: 1 (all same) different_values: 1 (all same)
variants: "effect" (x2512) variants: "effect" (x2534)
[folder]: [folder]:
type: string type: string
path: Item.effect.folder path: effect.folder
is_null: true is_null: true
values: 77 values: 78
different_values: 14 different_values: 14
variants: variants:
- "KN9hhATq6X3GwryB" (x20) - "KN9hhATq6X3GwryB" (x20)
- "nNaDTkXGZyawxKA6" (x14) - "nNaDTkXGZyawxKA6" (x14)
- "8rkL5zSnCcrg6Q9J" (x13) - "8rkL5zSnCcrg6Q9J" (x13)
- "93ELfrtUYYWaaOKE" (x7) - "93ELfrtUYYWaaOKE" (x7)
- "nYejRh5pL5dk5R7M" (x5) - "nYejRh5pL5dk5R7M" (x6)
- "eDXJ3K6EaXRdCgJa" (x4) - "eDXJ3K6EaXRdCgJa" (x4)
- "mFJYkag4aA4D7cSj" (x3)
- "tavHHn3vqI7bCnl6" (x3) - "tavHHn3vqI7bCnl6" (x3)
- "S0vnaS17OowkLvHX" (x2) - "mFJYkag4aA4D7cSj" (x3)
- "lW4SmuXik98vi0td" (x2) - "lW4SmuXik98vi0td" (x2)
- "S0vnaS17OowkLvHX" (x2)
- "x1BXD0wU3Jn73wgS" (x1) - "x1BXD0wU3Jn73wgS" (x1)
- "dHkIfyfz2uyglAR2" (x1)
- "gZz0ReLZQXJEUa4w" (x1) - "gZz0ReLZQXJEUa4w" (x1)
- "n1mLGzv9Fcj7I32Z" (x1) - "n1mLGzv9Fcj7I32Z" (x1)
- "dHkIfyfz2uyglAR2" (x1)
@@ -1,280 +1,134 @@
name: Item.equipment name: equipment
values: 2166 values: 2178
schema: schema:
'_id': '_id':
type: string type: string
path: Item.equipment._id path: equipment._id
is_null: false is_null: false
values: 2166 values: 2178
different_values: 2166 (all different) different_values: 2178 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: equipment._stats
is_null: false
values: 2178
schema:
'compendiumSource':
type: string
path: equipment._stats.compendiumSource
is_null: false
values: 2178
different_values: 2178 (all different)
variants: [omitted]
'coreVersion':
type: string
path: equipment._stats.coreVersion
is_null: false
values: 2178
different_values: 1 (all same)
variants: "13.344" (x2178)
'systemId':
type: string
path: equipment._stats.systemId
is_null: false
values: 2178
different_values: 1 (all same)
variants: "pf2e" (x2178)
'systemVersion':
type: string
path: equipment._stats.systemVersion
is_null: false
values: 2178
different_values: 1 (all same)
variants: "7.1.0" (x2178)
'effects':
type: array<>
path: equipment.effects
is_null: false
values: 2178
min_count: 0
max_count: 0
value_type:
type:
path: equipment.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.equipment.img path: equipment.img
is_null: false is_null: false
values: 2166 values: 2178
different_values: 1043 different_values: 1048
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.equipment.name path: equipment.name
is_null: false is_null: false
values: 2166 values: 2178
different_values: 2166 (all different) different_values: 2178 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.equipment.system path: equipment.system
is_null: false is_null: false
values: 2166 values: 2178
schema: schema:
[ability]: '_migration':
type: object type: object
path: Item.equipment.system.ability path: equipment.system._migration
is_null: true is_null: false
values: 1 values: 2178
schema: schema:
'value': [previous]:
type: string type:
path: Item.equipment.system.ability.value path: equipment.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: equipment.system._migration.version
is_null: false is_null: false
values: 1 values: 2178
different_values: 1 (all same) different_values: 1 (all same)
variants: "str" (x1) variants: 0,939 (x2178)
'level':
type: object
path: Item.equipment.system.level
is_null: false
values: 2166
schema:
'value':
type: integer
path: Item.equipment.system.level.value
is_null: false
values: 2166
different_values: 29
variants: [omitted]
'material':
type: object
path: Item.equipment.system.material
is_null: false
values: 2166
schema:
[grade]:
type:
path: Item.equipment.system.material.grade
is_null: true
values: 0
is_empty: true
[type]:
type:
path: Item.equipment.system.material.type
is_null: true
values: 0
is_empty: true
'publication':
type: object
path: Item.equipment.system.publication
is_null: false
values: 2166
schema:
'license':
type: string
path: Item.equipment.system.publication.license
is_null: false
values: 2166
different_values: 2
variants:
- "OGL" (x1482)
- "ORC" (x684)
'remaster':
type: boolean
path: Item.equipment.system.publication.remaster
is_null: false
values: 2166
different_values: 2
variants:
- False (x1413)
- True (x753)
'title':
type: string
path: Item.equipment.system.publication.title
is_null: false
values: 2166
different_values: 114
variants: [omitted]
'quantity':
type: integer
path: Item.equipment.system.quantity
is_null: false
values: 2166
different_values: 1 (all same)
variants: 1 (x2166)
'rules':
type: ignored (Foundry rules object)
path: Item.equipment.system.rules
is_null: false
values: 2166
[baseItem]: [baseItem]:
type: string type: string
path: Item.equipment.system.baseItem path: equipment.system.baseItem
is_null: true is_null: true
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
variants: "clan-dagger" (x2) variants: "clan-dagger" (x2)
'hardness': 'equipped':
type: integer type: object
path: Item.equipment.system.hardness path: equipment.system.equipped
is_null: false is_null: false
values: 2166 values: 2178
different_values: 1 (all same)
variants: 0 (x2166)
[bonus]:
type: object
path: Item.equipment.system.bonus
is_null: true
values: 1
schema: schema:
'value': 'carryType':
type: integer
path: Item.equipment.system.bonus.value
is_null: false
values: 1
different_values: 1 (all same)
variants: 0 (x1)
'bulk':
type: object
path: Item.equipment.system.bulk
is_null: false
values: 2166
schema:
'value':
type: integer | float
path: Item.equipment.system.bulk.value
is_null: false
values: 2166
types:
- different_values: 15
variants:
- 0 (x1006)
- 1 (x214)
- 2 (x42)
- 3 (x23)
- 16 (x6)
- 4 (x5)
- 6 (x4)
- 5 (x4)
- 20 (x2)
- 8 (x2)
- 10 (x1)
- 40 (x1)
- 18 (x1)
- 12 (x1)
- 15 (x1)
- different_values: 1 (all same)
variants: 0,1 (x853)
'description':
type: object
path: Item.equipment.system.description
is_null: false
values: 2166
schema:
[gm]:
type: string type: string
path: Item.equipment.system.description.gm path: equipment.system.equipped.carryType
is_null: true
values: 72
different_values: 72
variants: [omitted]
'value':
type: string
path: Item.equipment.system.description.value
is_null: false is_null: false
values: 2166 values: 2178
different_values: 2051
variants: [omitted]
[bonusDamage]:
type: object
path: Item.equipment.system.bonusDamage
is_null: true
values: 1
schema:
'value':
type: integer
path: Item.equipment.system.bonusDamage.value
is_null: false
values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x1) variants: "worn" (x2178)
[damage]:
type: object
path: Item.equipment.system.damage
is_null: true
values: 1
schema:
'damageType':
type: string
path: Item.equipment.system.damage.damageType
is_null: false
values: 1
different_values: 1 (all same)
variants: "slashing" (x1)
'dice':
type: integer
path: Item.equipment.system.damage.dice
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'die':
type: string
path: Item.equipment.system.damage.die
is_null: false
values: 1
different_values: 1 (all same)
variants: "d6" (x1)
'value':
type: string
path: Item.equipment.system.damage.value
is_null: false
values: 1
different_values: 1 (all same)
variants: "" (x1)
'hp':
type: object
path: Item.equipment.system.hp
is_null: false
values: 2166
schema:
'max':
type: integer
path: Item.equipment.system.hp.max
is_null: false
values: 2166
different_values: 1 (all same)
variants: 0 (x2166)
'value':
type: integer
path: Item.equipment.system.hp.value
is_null: false
values: 2166
different_values: 1 (all same)
variants: 0 (x2166)
'price': 'price':
type: object type: object
path: Item.equipment.system.price path: equipment.system.price
is_null: false is_null: false
values: 2166 values: 2178
schema: schema:
'value': 'value':
type: object type: object
path: Item.equipment.system.price.value path: equipment.system.price.value
is_null: false is_null: false
values: 2166 values: 2178
schema: schema:
[cp]: [cp]:
type: integer type: integer
path: Item.equipment.system.price.value.cp path: equipment.system.price.value.cp
is_null: true is_null: true
values: 17 values: 17
different_values: 6 different_values: 6
@@ -287,14 +141,14 @@ schema:
- 8 (x1) - 8 (x1)
[gp]: [gp]:
type: integer type: integer
path: Item.equipment.system.price.value.gp path: equipment.system.price.value.gp
is_null: true is_null: true
values: 1871 values: 1882
different_values: 238 different_values: 238
variants: [omitted] variants: [omitted]
[sp]: [sp]:
type: integer type: integer
path: Item.equipment.system.price.value.sp path: equipment.system.price.value.sp
is_null: true is_null: true
values: 70 values: 70
different_values: 8 different_values: 8
@@ -303,54 +157,318 @@ schema:
- 1 (x19) - 1 (x19)
- 2 (x7) - 2 (x7)
- 4 (x5) - 4 (x5)
- 3 (x5)
- 8 (x5) - 8 (x5)
- 6 (x1) - 3 (x5)
- 7 (x1) - 7 (x1)
- 6 (x1)
'quantity':
type: integer
path: equipment.system.quantity
is_null: false
values: 2178
different_values: 1 (all same)
variants: 1 (x2178)
'rules':
type: ignored (Foundry rules object)
path: equipment.system.rules
is_null: false
values: 2178
'size':
type: string
path: equipment.system.size
is_null: false
values: 2178
different_values: 2
variants:
- "med" (x2176)
- "sm" (x2)
'slug':
type: string
path: equipment.system.slug
is_null: false
values: 2178
different_values: 2178 (all different)
variants: [omitted]
[bonus]:
type: object
path: equipment.system.bonus
is_null: true
values: 1
schema:
'value':
type: integer
path: equipment.system.bonus.value
is_null: false
values: 1
different_values: 1 (all same)
variants: 0 (x1)
[bonusDamage]:
type: object
path: equipment.system.bonusDamage
is_null: true
values: 1
schema:
'value':
type: integer
path: equipment.system.bonusDamage.value
is_null: false
values: 1
different_values: 1 (all same)
variants: 0 (x1)
'bulk':
type: object
path: equipment.system.bulk
is_null: false
values: 2178
schema:
'value':
type: integer | float
path: equipment.system.bulk.value
is_null: false
values: 2178
types:
- different_values: 16
variants:
- 0 (x1011)
- 1 (x215)
- 2 (x42)
- 3 (x23)
- 16 (x6)
- 4 (x5)
- 20 (x5)
- 6 (x4)
- 5 (x4)
- 8 (x2)
- 40 (x1)
- 24 (x1)
- 18 (x1)
- 15 (x1)
- 10 (x1)
- 12 (x1)
- different_values: 1 (all same)
variants: 0,1 (x855)
'hardness':
type: integer
path: equipment.system.hardness
is_null: false
values: 2178
different_values: 1 (all same)
variants: 0 (x2178)
'hp':
type: object
path: equipment.system.hp
is_null: false
values: 2178
schema:
'max':
type: integer
path: equipment.system.hp.max
is_null: false
values: 2178
different_values: 1 (all same)
variants: 0 (x2178)
'value':
type: integer
path: equipment.system.hp.value
is_null: false
values: 2178
different_values: 1 (all same)
variants: 0 (x2178)
'level':
type: object
path: equipment.system.level
is_null: false
values: 2178
schema:
'value':
type: integer
path: equipment.system.level.value
is_null: false
values: 2178
different_values: 29
variants: [omitted]
[damage]:
type: object
path: equipment.system.damage
is_null: true
values: 1
schema:
'damageType':
type: string
path: equipment.system.damage.damageType
is_null: false
values: 1
different_values: 1 (all same)
variants: "slashing" (x1)
'dice':
type: integer
path: equipment.system.damage.dice
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'die':
type: string
path: equipment.system.damage.die
is_null: false
values: 1
different_values: 1 (all same)
variants: "d6" (x1)
'value':
type: string
path: equipment.system.damage.value
is_null: false
values: 1
different_values: 1 (all same)
variants: "" (x1)
'description':
type: object
path: equipment.system.description
is_null: false
values: 2178
schema:
[gm]:
type: string
path: equipment.system.description.gm
is_null: true
values: 73
different_values: 73
variants: [omitted]
'value':
type: string
path: equipment.system.description.value
is_null: false
values: 2178
different_values: 2063
variants: [omitted]
'material':
type: object
path: equipment.system.material
is_null: false
values: 2178
schema:
[grade]:
type:
path: equipment.system.material.grade
is_null: true
values: 0
is_empty: true
[type]:
type:
path: equipment.system.material.type
is_null: true
values: 0
is_empty: true
'publication':
type: object
path: equipment.system.publication
is_null: false
values: 2178
schema:
'license':
type: string
path: equipment.system.publication.license
is_null: false
values: 2178
different_values: 2
variants:
- "OGL" (x1481)
- "ORC" (x697)
'remaster':
type: boolean
path: equipment.system.publication.remaster
is_null: false
values: 2178
different_values: 2
variants:
- False (x1412)
- True (x766)
'title':
type: string
path: equipment.system.publication.title
is_null: false
values: 2178
different_values: 116
variants: [omitted]
[range]: [range]:
type: object type: object
path: Item.equipment.system.range path: equipment.system.range
is_null: true is_null: true
values: 1 values: 1
schema: schema:
'value': 'value':
type: string type: string
path: Item.equipment.system.range.value path: equipment.system.range.value
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x1) variants: "" (x1)
[reload]: [reload]:
type: object type: object
path: Item.equipment.system.reload path: equipment.system.reload
is_null: true is_null: true
values: 1 values: 1
schema: schema:
'value': 'value':
type: string type: string
path: Item.equipment.system.reload.value path: equipment.system.reload.value
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x1) variants: "" (x1)
'size': 'traits':
type: string type: object
path: Item.equipment.system.size path: equipment.system.traits
is_null: false is_null: false
values: 2166 values: 2178
different_values: 2 schema:
variants: 'rarity':
- "med" (x2164) type: string
- "sm" (x2) path: equipment.system.traits.rarity
is_null: false
values: 2178
different_values: 4
variants:
- "common" (x1083)
- "uncommon" (x652)
- "rare" (x294)
- "unique" (x149)
'value':
type: array<string>
path: equipment.system.traits.value
is_null: false
values: 2178
min_count: 0
max_count: 7
value_type:
type: string
path: equipment.system.traits.value.[]
is_null: false
values: 4246
different_values: 91
variants: [omitted]
[MAP]:
type: object
path: equipment.system.MAP
is_null: true
values: 1
schema:
'value':
type: string
path: equipment.system.MAP.value
is_null: false
values: 1
different_values: 1 (all same)
variants: "" (x1)
[apex]: [apex]:
type: object type: object
path: Item.equipment.system.apex path: equipment.system.apex
is_null: true is_null: true
values: 46 values: 46
schema: schema:
'attribute': 'attribute':
type: string type: string
path: Item.equipment.system.apex.attribute path: equipment.system.apex.attribute
is_null: false is_null: false
values: 46 values: 46
different_values: 6 different_values: 6
@@ -358,102 +476,71 @@ schema:
- "cha" (x10) - "cha" (x10)
- "dex" (x9) - "dex" (x9)
- "int" (x7) - "int" (x7)
- "con" (x7)
- "str" (x7) - "str" (x7)
- "con" (x7)
- "wis" (x6) - "wis" (x6)
'traits':
type: object
path: Item.equipment.system.traits
is_null: false
values: 2166
schema:
'rarity':
type: string
path: Item.equipment.system.traits.rarity
is_null: false
values: 2166
different_values: 4
variants:
- "common" (x1082)
- "uncommon" (x646)
- "rare" (x289)
- "unique" (x149)
'value':
type: array<string>
path: Item.equipment.system.traits.value
is_null: false
values: 2166
min_count: 0
max_count: 7
value_type:
type: string
path: Item.equipment.system.traits.value.[]
is_null: false
values: 4227
different_values: 91
variants: [omitted]
'usage': 'usage':
type: object type: object
path: Item.equipment.system.usage path: equipment.system.usage
is_null: false is_null: false
values: 2166 values: 2178
schema: schema:
'value': 'value':
type: string type: string
path: Item.equipment.system.usage.value path: equipment.system.usage.value
is_null: false is_null: false
values: 2166 values: 2178
different_values: 93 different_values: 93
variants: [omitted] variants: [omitted]
[MAP]: [ability]:
type: object type: object
path: Item.equipment.system.MAP path: equipment.system.ability
is_null: true is_null: true
values: 1 values: 1
schema: schema:
'value': 'value':
type: string type: string
path: Item.equipment.system.MAP.value path: equipment.system.ability.value
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x1) variants: "str" (x1)
[containerId]: [containerId]:
type: type:
path: Item.equipment.system.containerId path: equipment.system.containerId
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
[splashDamage]: [splashDamage]:
type: object type: object
path: Item.equipment.system.splashDamage path: equipment.system.splashDamage
is_null: true is_null: true
values: 1 values: 1
schema: schema:
'value': 'value':
type: integer type: integer
path: Item.equipment.system.splashDamage.value path: equipment.system.splashDamage.value
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x1) variants: 0 (x1)
[weaponType]: [weaponType]:
type: object type: object
path: Item.equipment.system.weaponType path: equipment.system.weaponType
is_null: true is_null: true
values: 1 values: 1
schema: schema:
'value': 'value':
type: string type: string
path: Item.equipment.system.weaponType.value path: equipment.system.weaponType.value
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x1) variants: "" (x1)
'type': 'type':
type: string type: string
path: Item.equipment.type path: equipment.type
is_null: false is_null: false
values: 2166 values: 2178
different_values: 1 (all same) different_values: 1 (all same)
variants: "equipment" (x2166) variants: "equipment" (x2178)
+549
View File
@@ -0,0 +1,549 @@
name: familiar
values: 5
schema:
'_id':
type: string
path: familiar._id
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "1NE3CrEExL2QZvEk" (x1)
- "vogwzBTdW949ebAg" (x1)
- "eZs6vj4m99XFUVIV" (x1)
- "kVIl6Pl2YbThZAMd" (x1)
- "ltUT288ryJyBTyPv" (x1)
'_stats':
type: object
path: familiar._stats
is_null: false
values: 5
schema:
'compendiumSource':
type: string
path: familiar._stats.compendiumSource
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "Compendium.pf2e.paizo-pregens.Actor.1NE3CrEExL2QZvEk" (x1)
- "Compendium.pf2e.paizo-pregens.Actor.vogwzBTdW949ebAg" (x1)
- "Compendium.pf2e.iconics.Actor.eZs6vj4m99XFUVIV" (x1)
- "Compendium.pf2e.iconics.Actor.kVIl6Pl2YbThZAMd" (x1)
- "Compendium.pf2e.iconics.Actor.ltUT288ryJyBTyPv" (x1)
'coreVersion':
type: string
path: familiar._stats.coreVersion
is_null: false
values: 5
different_values: 1 (all same)
variants: "13.344" (x5)
'systemId':
type: string
path: familiar._stats.systemId
is_null: false
values: 5
different_values: 1 (all same)
variants: "pf2e" (x5)
'systemVersion':
type: string
path: familiar._stats.systemVersion
is_null: false
values: 5
different_values: 1 (all same)
variants: "7.1.0" (x5)
'effects':
type: array<>
path: familiar.effects
is_null: false
values: 5
min_count: 0
max_count: 0
value_type:
type:
path: familiar.effects.[]
is_null: false
values: 0
is_empty: true
[folder]:
type: string
path: familiar.folder
is_null: true
values: 2
different_values: 2
variants:
- "3DwA8Gv85UbDoTAm" (x1)
- "IF567Eqg3ZiGPsLU" (x1)
'img':
type: string
path: familiar.img
is_null: false
values: 5
different_values: 2
variants:
- "systems/pf2e/icons/iconics/DajiFull.webp" (x3)
- "systems/pf2e/icons/default-icons/familiar.svg" (x2)
'items':
type: array<object>
path: familiar.items
is_null: false
values: 5
min_count: 3
max_count: 4
value_type:
type: object
path: familiar.items.[]
is_null: false
values: 19
schema:
'_id':
type: string
path: familiar.items.[]._id
is_null: false
values: 19
different_values: 16
variants:
- "yKVG2JGXq4N9pi4t" (x2)
- "W11WVY6SuWTtQzqW" (x2)
- "MFkW39uV95guqkFz" (x2)
- "HJD5p92q3pfpQOJU" (x1)
- "jpQUrZB9FWukXxMu" (x1)
- "0sbLtdrAXZ2rEgdB" (x1)
- "2rQAwqxPVNKOmsWp" (x1)
- "4QIDCoblWTSCcPNW" (x1)
- "jNbAeUwX1aOmIeOS" (x1)
- "oM1D1LbGp5CEFUZC" (x1)
- "D8U1Cus37ap3DlEt" (x1)
- "FMjxHz8N75Pi731Q" (x1)
- "4LFPgnSWDr7izqUO" (x1)
- "bGip9L1RrGQsvHLM" (x1)
- "tUt1CBtGCQVqh7ma" (x1)
- "9VCBzL0pHqgIUOqZ" (x1)
'_stats':
type: object
path: familiar.items.[]._stats
is_null: false
values: 19
schema:
'compendiumSource':
type: string
path: familiar.items.[]._stats.compendiumSource
is_null: false
values: 19
different_values: 10
variants:
- "Compendium.pf2e.familiar-abilities.Item.zyMRLQnFCQVpltiR" (x3)
- "Compendium.pf2e.familiar-abilities.Item.gPceRQqO847lvSnb" (x3)
- "Compendium.pf2e.familiar-abilities.Item.FlRUb8U13Crj3NaA" (x3)
- "Compendium.pf2e.familiar-abilities.Item.mu9OL8v4rmr9311e" (x3)
- "Compendium.pf2e.familiar-abilities.Item.K5OLRDsGCfPZ6mO6" (x2)
- "Compendium.pf2e.familiar-abilities.Item.cT5octWchU4gjrhP" (x1)
- "Compendium.pf2e.familiar-abilities.Item.57b8u8s3fV0UCrgJ" (x1)
- "Compendium.pf2e.familiar-abilities.Item.jfCmKk6pXcINVROk" (x1)
- "Compendium.pf2e.familiar-abilities.Item.ZHSzNt3NxkXbj1mI" (x1)
- "Compendium.pf2e.familiar-abilities.Item.rs4Awf4k1e0Mj797" (x1)
'coreVersion':
type: string
path: familiar.items.[]._stats.coreVersion
is_null: false
values: 19
different_values: 1 (all same)
variants: "13.344" (x19)
'systemId':
type: string
path: familiar.items.[]._stats.systemId
is_null: false
values: 19
different_values: 1 (all same)
variants: "pf2e" (x19)
'systemVersion':
type: string
path: familiar.items.[]._stats.systemVersion
is_null: false
values: 19
different_values: 1 (all same)
variants: "7.1.0" (x19)
'effects':
type: array<>
path: familiar.items.[].effects
is_null: false
values: 19
min_count: 0
max_count: 0
value_type:
type:
path: familiar.items.[].effects.[]
is_null: false
values: 0
is_empty: true
'img':
type: string
path: familiar.items.[].img
is_null: false
values: 19
different_values: 1 (all same)
variants: "systems/pf2e/icons/actions/Passive.webp" (x19)
'name':
type: string
path: familiar.items.[].name
is_null: false
values: 19
different_values: 11
variants:
- "Share Senses" (x3)
- "Scent" (x3)
- "Familiar of Ongoing Misery" (x3)
- "Damage Avoidance: Reflex" (x2)
- "Speech (Common)" (x2)
- "Manual Dexterity" (x1)
- "Plant Form" (x1)
- "Speech" (x1)
- "Echolocation" (x1)
- "Flier" (x1)
- "Cantrip Connection" (x1)
'sort':
type: integer
path: familiar.items.[].sort
is_null: false
values: 19
different_values: 1 (all same)
variants: 0 (x19)
'system':
type: object
path: familiar.items.[].system
is_null: false
values: 19
schema:
'_migration':
type: object
path: familiar.items.[].system._migration
is_null: false
values: 19
schema:
[previous]:
type:
path: familiar.items.[].system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: familiar.items.[].system._migration.version
is_null: false
values: 19
different_values: 1 (all same)
variants: 0,939 (x19)
'actionType':
type: object
path: familiar.items.[].system.actionType
is_null: false
values: 19
schema:
'value':
type: string
path: familiar.items.[].system.actionType.value
is_null: false
values: 19
different_values: 1 (all same)
variants: "passive" (x19)
'actions':
type: object
path: familiar.items.[].system.actions
is_null: false
values: 19
schema:
[value]:
type:
path: familiar.items.[].system.actions.value
is_null: true
values: 0
is_empty: true
'category':
type: string
path: familiar.items.[].system.category
is_null: false
values: 19
different_values: 1 (all same)
variants: "familiar" (x19)
'description':
type: object
path: familiar.items.[].system.description
is_null: false
values: 19
schema:
'value':
type: string
path: familiar.items.[].system.description.value
is_null: false
values: 19
different_values: 11
variants:
- "<p>It understands and speaks a language you know.</p>" (x3)
- "<p>Once every 10 minutes, you can use a single action with the concentrate trait to project your senses into your familiar. When you do, you lose all sensory information from your own body, but can sense through your familiar's body for up to 1 minute. You can Dismiss this effect.</p>" (x3)
- "<p>Your familiar seems hostile to all creatures other than you, hissing at them if they get too near. When you Cast or Sustain a hex, your familiar can curse a creature within 15 feet of it, prolonging the duration of any negative conditions affecting it by 1 round. This is a curse effect. This prolongs only conditions with a timed duration (such as \"1 round\" or \"until the end of your next turn\") and doesn't prevent conditions from being removed by other means.</p>" (x3)
- "<p>It takes no damage when it succeeds at Reflex saves; this doesn't prevent effects other than damage.</p>" (x2)
- "<p>It can use scent as an imprecise sense within 30 feet.</p>" (x2)
- "<p>It can use up to two of its limbs as if they were hands to use manipulate actions.</p>" (x1)
- "<p>Your plant familiar can change shape as a single action, transforming into a Tiny plant of a type roughly similar to the familiar's nature. This otherwise uses the effects of <em>tree shape</em>. You must have a familiar with the plant trait, such as a leshy, to select this ability.</p>" (x1)
- "<p>It can use hearing as a precise sense within 20 feet.</p>" (x1)
- "<p>It gains a fly Speed of 25 feet.</p>" (x1)
- "<p>You can prepare an additional cantrip, or if you have a repertoire, instead designate a cantrip to add to your repertoire every time you select this ability; you can retrain it but can't otherwise change it. You must be able to prepare cantrips or add them to your repertoire to select this.</p>" (x1)
- "<p>It gains scent (imprecise, 30 feet).</p>" (x1)
'publication':
type: object
path: familiar.items.[].system.publication
is_null: false
values: 19
schema:
'license':
type: string
path: familiar.items.[].system.publication.license
is_null: false
values: 19
different_values: 2
variants:
- "ORC" (x12)
- "OGL" (x7)
'remaster':
type: boolean
path: familiar.items.[].system.publication.remaster
is_null: false
values: 19
different_values: 2
variants:
- True (x12)
- False (x7)
'title':
type: string
path: familiar.items.[].system.publication.title
is_null: false
values: 19
different_values: 3
variants:
- "Pathfinder Player Core" (x12)
- "Pathfinder Core Rulebook" (x5)
- "Pathfinder Advanced Player's Guide" (x2)
'rules':
type: ignored (Foundry rules object)
path: familiar.items.[].system.rules
is_null: false
values: 19
'slug':
type: string
path: familiar.items.[].system.slug
is_null: false
values: 19
different_values: 10
variants:
- "speech" (x3)
- "share-senses" (x3)
- "scent" (x3)
- "familiar-of-ongoing-misery" (x3)
- "damage-avoidance-reflex" (x2)
- "manual-dexterity" (x1)
- "plant-form" (x1)
- "echolocation" (x1)
- "flier" (x1)
- "cantrip-connection" (x1)
'traits':
type: object
path: familiar.items.[].system.traits
is_null: false
values: 19
schema:
[rarity]:
type: string
path: familiar.items.[].system.traits.rarity
is_null: true
values: 15
different_values: 1 (all same)
variants: "common" (x15)
'value':
type: array<>
path: familiar.items.[].system.traits.value
is_null: false
values: 19
min_count: 0
max_count: 0
value_type:
type:
path: familiar.items.[].system.traits.value.[]
is_null: false
values: 0
is_empty: true
[frequency]:
type: object
path: familiar.items.[].system.frequency
is_null: true
values: 3
schema:
'max':
type: integer
path: familiar.items.[].system.frequency.max
is_null: false
values: 3
different_values: 1 (all same)
variants: 1 (x3)
'per':
type: string
path: familiar.items.[].system.frequency.per
is_null: false
values: 3
different_values: 1 (all same)
variants: "PT10M" (x3)
'type':
type: string
path: familiar.items.[].type
is_null: false
values: 19
different_values: 1 (all same)
variants: "action" (x19)
'name':
type: string
path: familiar.name
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "Twinsprout" (x1)
- "Flappy" (x1)
- "Daji (Level 5)" (x1)
- "Daji (Level 3)" (x1)
- "Daji (Level 1)" (x1)
'prototypeToken':
type: object
path: familiar.prototypeToken
is_null: false
values: 3
schema:
'name':
type: string
path: familiar.prototypeToken.name
is_null: false
values: 3
different_values: 1 (all same)
variants: "Daji" (x3)
'texture':
type: object
path: familiar.prototypeToken.texture
is_null: false
values: 3
schema:
'src':
type: string
path: familiar.prototypeToken.texture.src
is_null: false
values: 3
different_values: 1 (all same)
variants: "systems/pf2e/icons/iconics/Daji.webp" (x3)
'system':
type: object
path: familiar.system
is_null: false
values: 5
schema:
'_migration':
type: object
path: familiar.system._migration
is_null: false
values: 5
schema:
[previous]:
type:
path: familiar.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: familiar.system._migration.version
is_null: false
values: 5
different_values: 1 (all same)
variants: 0,939 (x5)
'attributes':
type: object
path: familiar.system.attributes
is_null: false
values: 5
schema:
'hp':
type: object
path: familiar.system.attributes.hp
is_null: false
values: 5
schema:
'temp':
type: integer
path: familiar.system.attributes.hp.temp
is_null: false
values: 5
different_values: 1 (all same)
variants: 0 (x5)
'value':
type: integer
path: familiar.system.attributes.hp.value
is_null: false
values: 5
different_values: 2
variants:
- 0 (x4)
- 10 (x1)
'details':
type: object
path: familiar.system.details
is_null: false
values: 5
schema:
'creature':
type: object
path: familiar.system.details.creature
is_null: false
values: 5
schema:
'value':
type: string
path: familiar.system.details.creature.value
is_null: false
values: 5
different_values: 2
variants:
- "Nine-Tailed Fox" (x3)
- "" (x2)
'master':
type: object
path: familiar.system.master
is_null: false
values: 5
schema:
[ability]:
type: string
path: familiar.system.master.ability
is_null: true
values: 4
different_values: 2
variants:
- "int" (x3)
- "wis" (x1)
'id':
type: string
path: familiar.system.master.id
is_null: false
values: 5
different_values: 2
variants:
- "" (x4)
- "d4CBHfR9oBkaIwQy" (x1)
'resources':
type: object
path: familiar.system.resources
is_null: false
values: 5
schema:
'type':
type: string
path: familiar.type
is_null: false
values: 5
different_values: 1 (all same)
variants: "familiar" (x5)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,89 +1,155 @@
name: Item.heritage name: heritage
values: 311 values: 311
schema: schema:
'_id': '_id':
type: string type: string
path: Item.heritage._id path: heritage._id
is_null: false is_null: false
values: 311 values: 311
different_values: 311 (all different) different_values: 311 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: heritage._stats
is_null: false
values: 311
schema:
'compendiumSource':
type: string
path: heritage._stats.compendiumSource
is_null: false
values: 311
different_values: 311 (all different)
variants: [omitted]
'coreVersion':
type: string
path: heritage._stats.coreVersion
is_null: false
values: 311
different_values: 1 (all same)
variants: "13.344" (x311)
'systemId':
type: string
path: heritage._stats.systemId
is_null: false
values: 311
different_values: 1 (all same)
variants: "pf2e" (x311)
'systemVersion':
type: string
path: heritage._stats.systemVersion
is_null: false
values: 311
different_values: 1 (all same)
variants: "7.1.0" (x311)
'effects':
type: array<>
path: heritage.effects
is_null: false
values: 311
min_count: 0
max_count: 0
value_type:
type:
path: heritage.effects.[]
is_null: false
values: 0
is_empty: true
'folder': 'folder':
type: string type: string
path: Item.heritage.folder path: heritage.folder
is_null: false is_null: false
values: 311 values: 311
different_values: 49 different_values: 49
variants: [omitted] variants: [omitted]
'img': 'img':
type: string type: string
path: Item.heritage.img path: heritage.img
is_null: false is_null: false
values: 311 values: 311
different_values: 118 different_values: 118
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.heritage.name path: heritage.name
is_null: false is_null: false
values: 311 values: 311
different_values: 311 (all different) different_values: 311 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.heritage.system path: heritage.system
is_null: false is_null: false
values: 311 values: 311
schema: schema:
'_migration':
type: object
path: heritage.system._migration
is_null: false
values: 311
schema:
[previous]:
type:
path: heritage.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: heritage.system._migration.version
is_null: false
values: 311
different_values: 1 (all same)
variants: 0,939 (x311)
[ancestry]: [ancestry]:
type: object type: object
path: Item.heritage.system.ancestry path: heritage.system.ancestry
is_null: true is_null: true
values: 294 values: 294
schema: schema:
'name': 'name':
type: string type: string
path: Item.heritage.system.ancestry.name path: heritage.system.ancestry.name
is_null: false is_null: false
values: 294 values: 294
different_values: 48 different_values: 48
variants: [omitted] variants: [omitted]
'slug': 'slug':
type: string type: string
path: Item.heritage.system.ancestry.slug path: heritage.system.ancestry.slug
is_null: false is_null: false
values: 294 values: 294
different_values: 48 different_values: 48
variants: [omitted] variants: [omitted]
'uuid': 'uuid':
type: string type: string
path: Item.heritage.system.ancestry.uuid path: heritage.system.ancestry.uuid
is_null: false is_null: false
values: 294 values: 294
different_values: 48 different_values: 48
variants: [omitted] variants: [omitted]
'description': 'description':
type: object type: object
path: Item.heritage.system.description path: heritage.system.description
is_null: false is_null: false
values: 311 values: 311
schema: schema:
'value': 'value':
type: string type: string
path: Item.heritage.system.description.value path: heritage.system.description.value
is_null: false is_null: false
values: 311 values: 311
different_values: 311 (all different) different_values: 311 (all different)
variants: [omitted] variants: [omitted]
'publication': 'publication':
type: object type: object
path: Item.heritage.system.publication path: heritage.system.publication
is_null: false is_null: false
values: 311 values: 311
schema: schema:
'license': 'license':
type: string type: string
path: Item.heritage.system.publication.license path: heritage.system.publication.license
is_null: false is_null: false
values: 311 values: 311
different_values: 2 different_values: 2
@@ -92,7 +158,7 @@ schema:
- "OGL" (x125) - "OGL" (x125)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.heritage.system.publication.remaster path: heritage.system.publication.remaster
is_null: false is_null: false
values: 311 values: 311
different_values: 2 different_values: 2
@@ -101,7 +167,7 @@ schema:
- False (x123) - False (x123)
'title': 'title':
type: string type: string
path: Item.heritage.system.publication.title path: heritage.system.publication.title
is_null: false is_null: false
values: 311 values: 311
different_values: 19 different_values: 19
@@ -114,31 +180,38 @@ schema:
- "Pathfinder Lost Omens Impossible Lands" (x27) - "Pathfinder Lost Omens Impossible Lands" (x27)
- "Pathfinder Lost Omens The Mwangi Expanse" (x20) - "Pathfinder Lost Omens The Mwangi Expanse" (x20)
- "Pathfinder Lost Omens Character Guide" (x9) - "Pathfinder Lost Omens Character Guide" (x9)
- "Pathfinder Lost Omens Absalom, City of Lost Omens" (x5)
- "Pathfinder Lost Omens The Grand Bazaar" (x5) - "Pathfinder Lost Omens The Grand Bazaar" (x5)
- "Pathfinder Lost Omens Absalom, City of Lost Omens" (x5)
- "Pathfinder Guns & Gears" (x4) - "Pathfinder Guns & Gears" (x4)
- "Pathfinder #153: Life's Long Shadows" (x4) - "Pathfinder #153: Life's Long Shadows" (x4)
- "Pathfinder Book of the Dead" (x4) - "Pathfinder Book of the Dead" (x4)
- "Pathfinder Beginner Box" (x2) - "Pathfinder Beginner Box" (x2)
- "Pathfinder Rage of Elements" (x2) - "Pathfinder Rage of Elements" (x2)
- "Pathfinder Lost Omens Highhelm" (x1) - "Pathfinder Lost Omens Highhelm" (x1)
- "Pathfinder #176: Lost Mammoth Valley" (x1)
- "Pathfinder Wake the Dead #4" (x1)
- "Pathfinder Dark Archive" (x1) - "Pathfinder Dark Archive" (x1)
- "Pathfinder Wake the Dead #4" (x1)
- "Pathfinder #176: Lost Mammoth Valley" (x1)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.heritage.system.rules path: heritage.system.rules
is_null: false is_null: false
values: 311 values: 311
'slug':
type: string
path: heritage.system.slug
is_null: false
values: 311
different_values: 311 (all different)
variants: [omitted]
'traits': 'traits':
type: object type: object
path: Item.heritage.system.traits path: heritage.system.traits
is_null: false is_null: false
values: 311 values: 311
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.heritage.system.traits.rarity path: heritage.system.traits.rarity
is_null: false is_null: false
values: 311 values: 311
different_values: 3 different_values: 3
@@ -148,21 +221,21 @@ schema:
- "rare" (x3) - "rare" (x3)
'value': 'value':
type: array<string> type: array<string>
path: Item.heritage.system.traits.value path: heritage.system.traits.value
is_null: false is_null: false
values: 311 values: 311
min_count: 0 min_count: 0
max_count: 2 max_count: 2
value_type: value_type:
type: string type: string
path: Item.heritage.system.traits.value.[] path: heritage.system.traits.value.[]
is_null: false is_null: false
values: 66 values: 66
different_values: 35 different_values: 35
variants: [omitted] variants: [omitted]
'type': 'type':
type: string type: string
path: Item.heritage.type path: heritage.type
is_null: false is_null: false
values: 311 values: 311
different_values: 1 (all same) different_values: 1 (all same)
@@ -1,18 +1,67 @@
name: Item.kit name: kit
values: 2 values: 2
schema: schema:
'_id': '_id':
type: string type: string
path: Item.kit._id path: kit._id
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
variants: variants:
- "2req0jGaxz8hScdB" (x1) - "2req0jGaxz8hScdB" (x1)
- "YQLWR9cCXQY5xaaG" (x1) - "YQLWR9cCXQY5xaaG" (x1)
'_stats':
type: object
path: kit._stats
is_null: false
values: 2
schema:
'compendiumSource':
type: string
path: kit._stats.compendiumSource
is_null: false
values: 2
different_values: 2 (all different)
variants:
- "Compendium.pf2e.equipment-srd.Item.2req0jGaxz8hScdB" (x1)
- "Compendium.pf2e.equipment-srd.Item.YQLWR9cCXQY5xaaG" (x1)
'coreVersion':
type: string
path: kit._stats.coreVersion
is_null: false
values: 2
different_values: 1 (all same)
variants: "13.344" (x2)
'systemId':
type: string
path: kit._stats.systemId
is_null: false
values: 2
different_values: 1 (all same)
variants: "pf2e" (x2)
'systemVersion':
type: string
path: kit._stats.systemVersion
is_null: false
values: 2
different_values: 1 (all same)
variants: "7.1.0" (x2)
'effects':
type: array<>
path: kit.effects
is_null: false
values: 2
min_count: 0
max_count: 0
value_type:
type:
path: kit.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.kit.img path: kit.img
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -21,7 +70,7 @@ schema:
- "systems/pf2e/icons/equipment/adventuring-gear/cartographers-kit.webp" (x1) - "systems/pf2e/icons/equipment/adventuring-gear/cartographers-kit.webp" (x1)
'name': 'name':
type: string type: string
path: Item.kit.name path: kit.name
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -30,44 +79,63 @@ schema:
- "Cartographer's Kit" (x1) - "Cartographer's Kit" (x1)
'system': 'system':
type: object type: object
path: Item.kit.system path: kit.system
is_null: false is_null: false
values: 2 values: 2
schema: schema:
'_migration':
type: object
path: kit.system._migration
is_null: false
values: 2
schema:
[previous]:
type:
path: kit.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: kit.system._migration.version
is_null: false
values: 2
different_values: 1 (all same)
variants: 0,939 (x2)
'description': 'description':
type: object type: object
path: Item.kit.system.description path: kit.system.description
is_null: false is_null: false
values: 2 values: 2
schema: schema:
'value': 'value':
type: string type: string
path: Item.kit.system.description.value path: kit.system.description.value
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
variants: [omitted] variants: [omitted]
'equippedBulk': 'equippedBulk':
type: object type: object
path: Item.kit.system.equippedBulk path: kit.system.equippedBulk
is_null: false is_null: false
values: 1 values: 1
schema: schema:
'value': 'value':
type: string type: string
path: Item.kit.system.equippedBulk.value path: kit.system.equippedBulk.value
is_null: false is_null: false
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x1) variants: "" (x1)
'items': 'items':
type: dict<string, object> type: dict<string, object>
path: Item.kit.system.items path: kit.system.items
is_null: false is_null: false
values: 2 values: 2
_key: _key:
type: string type: string
path: Item.kit.system.items.[key] path: kit.system.items.[key]
is_null: false is_null: false
values: 6 values: 6
different_values: 6 different_values: 6
@@ -80,13 +148,13 @@ schema:
- "lnvy6" (x1) - "lnvy6" (x1)
_value: _value:
type: object type: object
path: Item.kit.system.items.[value] path: kit.system.items.[value]
is_null: false is_null: false
values: 6 values: 6
schema: schema:
'img': 'img':
type: string type: string
path: Item.kit.system.items.[value].img path: kit.system.items.[value].img
is_null: false is_null: false
values: 6 values: 6
different_values: 5 different_values: 5
@@ -98,7 +166,7 @@ schema:
- "icons/tools/navigation/map-chart-tan.webp" (x1) - "icons/tools/navigation/map-chart-tan.webp" (x1)
'isContainer': 'isContainer':
type: boolean type: boolean
path: Item.kit.system.items.[value].isContainer path: kit.system.items.[value].isContainer
is_null: false is_null: false
values: 6 values: 6
different_values: 2 (all different) different_values: 2 (all different)
@@ -107,12 +175,12 @@ schema:
- True (x1) - True (x1)
'items': 'items':
type: dict<string, object> type: dict<string, object>
path: Item.kit.system.items.[value].items path: kit.system.items.[value].items
is_null: false is_null: false
values: 6 values: 6
_key: _key:
type: string type: string
path: Item.kit.system.items.[value].items.[key] path: kit.system.items.[value].items.[key]
is_null: false is_null: false
values: 8 values: 8
different_values: 8 different_values: 8
@@ -127,13 +195,13 @@ schema:
- "z9tim" (x1) - "z9tim" (x1)
_value: _value:
type: object type: object
path: Item.kit.system.items.[value].items.[value] path: kit.system.items.[value].items.[value]
is_null: false is_null: false
values: 8 values: 8
schema: schema:
'img': 'img':
type: string type: string
path: Item.kit.system.items.[value].items.[value].img path: kit.system.items.[value].items.[value].img
is_null: false is_null: false
values: 8 values: 8
different_values: 8 different_values: 8
@@ -148,20 +216,20 @@ schema:
- "icons/sundries/survival/soap.webp" (x1) - "icons/sundries/survival/soap.webp" (x1)
'isContainer': 'isContainer':
type: boolean type: boolean
path: Item.kit.system.items.[value].items.[value].isContainer path: kit.system.items.[value].items.[value].isContainer
is_null: false is_null: false
values: 8 values: 8
different_values: 1 (all same) different_values: 1 (all same)
variants: False (x8) variants: False (x8)
'items': 'items':
type: object type: object
path: Item.kit.system.items.[value].items.[value].items path: kit.system.items.[value].items.[value].items
is_null: false is_null: false
values: 8 values: 8
schema: schema:
'name': 'name':
type: string type: string
path: Item.kit.system.items.[value].items.[value].name path: kit.system.items.[value].items.[value].name
is_null: false is_null: false
values: 8 values: 8
different_values: 8 different_values: 8
@@ -176,7 +244,7 @@ schema:
- "Soap" (x1) - "Soap" (x1)
'quantity': 'quantity':
type: integer type: integer
path: Item.kit.system.items.[value].items.[value].quantity path: kit.system.items.[value].items.[value].quantity
is_null: false is_null: false
values: 8 values: 8
different_values: 4 different_values: 4
@@ -187,22 +255,22 @@ schema:
- 5 (x1) - 5 (x1)
'uuid': 'uuid':
type: string type: string
path: Item.kit.system.items.[value].items.[value].uuid path: kit.system.items.[value].items.[value].uuid
is_null: false is_null: false
values: 8 values: 8
different_values: 8 different_values: 8
variants: variants:
- "Compendium.pf2e.equipment-srd.Item.Rope" (x1) - "Compendium.pf2e.equipment-srd.Item.fyYnQf1NAx9fWFaS" (x1)
- "Compendium.pf2e.equipment-srd.Item.Waterskin" (x1) - "Compendium.pf2e.equipment-srd.Item.VnPh324pKwd2ZB66" (x1)
- "Compendium.pf2e.equipment-srd.Item.Chalk" (x1) - "Compendium.pf2e.equipment-srd.Item.xShIDyydOMkGvGNb" (x1)
- "Compendium.pf2e.equipment-srd.Item.Flint and Steel" (x1) - "Compendium.pf2e.equipment-srd.Item.UlIxxLm71UdRgCFE" (x1)
- "Compendium.pf2e.equipment-srd.Item.Rations" (x1) - "Compendium.pf2e.equipment-srd.Item.L9ZV076913otGtiB" (x1)
- "Compendium.pf2e.equipment-srd.Item.Torch" (x1) - "Compendium.pf2e.equipment-srd.Item.8Jdw4yAzWYylGePS" (x1)
- "Compendium.pf2e.equipment-srd.Item.Bedroll" (x1) - "Compendium.pf2e.equipment-srd.Item.fagzYdmfYyMQ6J77" (x1)
- "Compendium.pf2e.equipment-srd.Item.Soap" (x1) - "Compendium.pf2e.equipment-srd.Item.81aHsD27HFGnq1Nt" (x1)
'name': 'name':
type: string type: string
path: Item.kit.system.items.[value].name path: kit.system.items.[value].name
is_null: false is_null: false
values: 6 values: 6
different_values: 6 different_values: 6
@@ -215,46 +283,46 @@ schema:
- "Survey Map" (x1) - "Survey Map" (x1)
'quantity': 'quantity':
type: integer type: integer
path: Item.kit.system.items.[value].quantity path: kit.system.items.[value].quantity
is_null: false is_null: false
values: 6 values: 6
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x6) variants: 1 (x6)
'uuid': 'uuid':
type: string type: string
path: Item.kit.system.items.[value].uuid path: kit.system.items.[value].uuid
is_null: false is_null: false
values: 6 values: 6
different_values: 6 different_values: 6
variants: variants:
- "Compendium.pf2e.equipment-srd.Item.Backpack" (x1) - "Compendium.pf2e.equipment-srd.Item.3lgwjrFEsQVKzhh7" (x1)
- "Compendium.pf2e.equipment-srd.Item.Compass" (x1) - "Compendium.pf2e.equipment-srd.Item.wob6DB1FFdWs0mbp" (x1)
- "Compendium.pf2e.equipment-srd.Item.Standard Astrolabe" (x1) - "Compendium.pf2e.equipment-srd.Item.n8nmqJdfHrDfuG1J" (x1)
- "Compendium.pf2e.equipment-srd.Item.Writing Set" (x1) - "Compendium.pf2e.equipment-srd.Item.QJb8S927Yj81EgHH" (x1)
- "Compendium.pf2e.equipment-srd.Item.Ruler" (x1) - "Compendium.pf2e.equipment-srd.Item.fti8z0JYDxH63n0J" (x1)
- "Compendium.pf2e.equipment-srd.Item.Survey Map" (x1) - "Compendium.pf2e.equipment-srd.Item.UhcRWtnjU2WLSClx" (x1)
'price': 'price':
type: object type: object
path: Item.kit.system.price path: kit.system.price
is_null: false is_null: false
values: 2 values: 2
schema: schema:
'value': 'value':
type: object type: object
path: Item.kit.system.price.value path: kit.system.price.value
is_null: false is_null: false
values: 2 values: 2
schema: schema:
[cp]: [cp]:
type: integer type: integer
path: Item.kit.system.price.value.cp path: kit.system.price.value.cp
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x1) variants: 0 (x1)
'gp': 'gp':
type: integer type: integer
path: Item.kit.system.price.value.gp path: kit.system.price.value.gp
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -263,27 +331,27 @@ schema:
- 42 (x1) - 42 (x1)
[pp]: [pp]:
type: integer type: integer
path: Item.kit.system.price.value.pp path: kit.system.price.value.pp
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x1) variants: 0 (x1)
[sp]: [sp]:
type: integer type: integer
path: Item.kit.system.price.value.sp path: kit.system.price.value.sp
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 15 (x1) variants: 15 (x1)
'publication': 'publication':
type: object type: object
path: Item.kit.system.publication path: kit.system.publication
is_null: false is_null: false
values: 2 values: 2
schema: schema:
'license': 'license':
type: string type: string
path: Item.kit.system.publication.license path: kit.system.publication.license
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -292,7 +360,7 @@ schema:
- "OGL" (x1) - "OGL" (x1)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.kit.system.publication.remaster path: kit.system.publication.remaster
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -301,7 +369,7 @@ schema:
- False (x1) - False (x1)
'title': 'title':
type: string type: string
path: Item.kit.system.publication.title path: kit.system.publication.title
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -310,18 +378,27 @@ schema:
- "Pathfinder Lost Omens Pathfinder Society Guide" (x1) - "Pathfinder Lost Omens Pathfinder Society Guide" (x1)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.kit.system.rules path: kit.system.rules
is_null: false is_null: false
values: 2 values: 2
'slug':
type: string
path: kit.system.slug
is_null: false
values: 2
different_values: 2 (all different)
variants:
- "adventurers-pack" (x1)
- "cartographers-kit" (x1)
'traits': 'traits':
type: object type: object
path: Item.kit.system.traits path: kit.system.traits
is_null: false is_null: false
values: 2 values: 2
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.kit.system.traits.rarity path: kit.system.traits.rarity
is_null: false is_null: false
values: 2 values: 2
different_values: 2 (all different) different_values: 2 (all different)
@@ -330,20 +407,20 @@ schema:
- "uncommon" (x1) - "uncommon" (x1)
'value': 'value':
type: array<> type: array<>
path: Item.kit.system.traits.value path: kit.system.traits.value
is_null: false is_null: false
values: 2 values: 2
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.kit.system.traits.value.[] path: kit.system.traits.value.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'type': 'type':
type: string type: string
path: Item.kit.type path: kit.type
is_null: false is_null: false
values: 2 values: 2
different_values: 1 (all same) different_values: 1 (all same)
File diff suppressed because it is too large Load Diff
@@ -1,62 +1,89 @@
name: Macro.script name: script
values: 81 values: 81
schema: schema:
'_id': '_id':
type: string type: string
path: Macro.script._id path: script._id
is_null: false is_null: false
values: 81 values: 81
different_values: 81 (all different) different_values: 81 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: script._stats
is_null: false
values: 81
schema:
'coreVersion':
type: string
path: script._stats.coreVersion
is_null: false
values: 81
different_values: 1 (all same)
variants: "13.344" (x81)
'systemId':
type: string
path: script._stats.systemId
is_null: false
values: 81
different_values: 1 (all same)
variants: "pf2e" (x81)
'systemVersion':
type: string
path: script._stats.systemVersion
is_null: false
values: 81
different_values: 1 (all same)
variants: "7.1.0" (x81)
'author': 'author':
type: string type: string
path: Macro.script.author path: script.author
is_null: false is_null: false
values: 81 values: 81
different_values: 12 different_values: 12
variants: variants:
- "j8qxwRz5RJ4kkzp9" (x62) - "j8qxwRz5RJ4kkzp9" (x62)
- "qZdAigNsA8Xx4gAx" (x4)
- "ru9MkwAaWXaeSZph" (x4) - "ru9MkwAaWXaeSZph" (x4)
- "7rBRoXLPb5I767rN" (x2) - "qZdAigNsA8Xx4gAx" (x4)
- "4rlSA43v1xPa1vsy" (x2) - "4rlSA43v1xPa1vsy" (x2)
- "jrcW3hyxC9Zvmq50" (x1) - "7rBRoXLPb5I767rN" (x2)
- "gE95JAZb6BOLkaNX" (x1)
- "cXJZ4yzVgtPDwLCg" (x1)
- "oxKN2HrOvz2sSqlF" (x1)
- "Ooz20ZCUmh0bjKL3" (x1)
- "uAvrJeywnWLwQIhl" (x1) - "uAvrJeywnWLwQIhl" (x1)
- "NhGg2K0c82rUuECi" (x1) - "NhGg2K0c82rUuECi" (x1)
- "cXJZ4yzVgtPDwLCg" (x1) - "jrcW3hyxC9Zvmq50" (x1)
- "gE95JAZb6BOLkaNX" (x1)
- "Ooz20ZCUmh0bjKL3" (x1)
- "oxKN2HrOvz2sSqlF" (x1)
'command': 'command':
type: string type: string
path: Macro.script.command path: script.command
is_null: false is_null: false
values: 81 values: 81
different_values: 81 (all different) different_values: 81 (all different)
variants: [omitted] variants: [omitted]
'img': 'img':
type: string type: string
path: Macro.script.img path: script.img
is_null: false is_null: false
values: 81 values: 81
different_values: 37 different_values: 37
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Macro.script.name path: script.name
is_null: false is_null: false
values: 81 values: 81
different_values: 81 (all different) different_values: 81 (all different)
variants: [omitted] variants: [omitted]
'ownership': 'ownership':
type: object type: object
path: Macro.script.ownership path: script.ownership
is_null: false is_null: false
values: 81 values: 81
schema: schema:
'default': 'default':
type: integer type: integer
path: Macro.script.ownership.default path: script.ownership.default
is_null: false is_null: false
values: 81 values: 81
different_values: 2 different_values: 2
@@ -65,14 +92,14 @@ schema:
- 0 (x5) - 0 (x5)
'scope': 'scope':
type: string type: string
path: Macro.script.scope path: script.scope
is_null: false is_null: false
values: 81 values: 81
different_values: 1 (all same) different_values: 1 (all same)
variants: "global" (x81) variants: "global" (x81)
'type': 'type':
type: string type: string
path: Macro.script.type path: script.type
is_null: false is_null: false
values: 81 values: 81
different_values: 1 (all same) different_values: 1 (all same)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,177 +1,256 @@
name: Item.treasure name: treasure
values: 153 values: 153
schema: schema:
'_id': '_id':
type: string type: string
path: Item.treasure._id path: treasure._id
is_null: false is_null: false
values: 153 values: 153
different_values: 153 (all different) different_values: 153 (all different)
variants: [omitted] variants: [omitted]
'_stats':
type: object
path: treasure._stats
is_null: false
values: 153
schema:
'compendiumSource':
type: string
path: treasure._stats.compendiumSource
is_null: false
values: 153
different_values: 153 (all different)
variants: [omitted]
'coreVersion':
type: string
path: treasure._stats.coreVersion
is_null: false
values: 153
different_values: 1 (all same)
variants: "13.344" (x153)
'systemId':
type: string
path: treasure._stats.systemId
is_null: false
values: 153
different_values: 1 (all same)
variants: "pf2e" (x153)
'systemVersion':
type: string
path: treasure._stats.systemVersion
is_null: false
values: 153
different_values: 1 (all same)
variants: "7.1.0" (x153)
'effects':
type: array<>
path: treasure.effects
is_null: false
values: 153
min_count: 0
max_count: 0
value_type:
type:
path: treasure.effects.[]
is_null: false
values: 0
is_empty: true
'img': 'img':
type: string type: string
path: Item.treasure.img path: treasure.img
is_null: false is_null: false
values: 153 values: 153
different_values: 152 different_values: 152
variants: [omitted] variants: [omitted]
'name': 'name':
type: string type: string
path: Item.treasure.name path: treasure.name
is_null: false is_null: false
values: 153 values: 153
different_values: 153 (all different) different_values: 153 (all different)
variants: [omitted] variants: [omitted]
'system': 'system':
type: object type: object
path: Item.treasure.system path: treasure.system
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'_migration':
type: object
path: treasure.system._migration
is_null: false
values: 153
schema:
[previous]:
type:
path: treasure.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: treasure.system._migration.version
is_null: false
values: 153
different_values: 1 (all same)
variants: 0,939 (x153)
[baseItem]: [baseItem]:
type: type:
path: Item.treasure.system.baseItem path: treasure.system.baseItem
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
'bulk': 'bulk':
type: object type: object
path: Item.treasure.system.bulk path: treasure.system.bulk
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'value': 'value':
type: integer type: integer
path: Item.treasure.system.bulk.value path: treasure.system.bulk.value
is_null: false is_null: false
values: 153 values: 153
different_values: 2 different_values: 2
variants: variants:
- 0 (x149) - 0 (x149)
- 1 (x4) - 1 (x4)
[containerId]:
type:
path: Item.treasure.system.containerId
is_null: true
values: 0
is_empty: true
'description': 'description':
type: object type: object
path: Item.treasure.system.description path: treasure.system.description
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'value': 'value':
type: string type: string
path: Item.treasure.system.description.value path: treasure.system.description.value
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: "" (x153) variants: "" (x153)
'hardness': 'equipped':
type: integer type: object
path: Item.treasure.system.hardness path: treasure.system.equipped
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) schema:
variants: 0 (x153) 'carryType':
type: string
path: treasure.system.equipped.carryType
is_null: false
values: 153
different_values: 1 (all same)
variants: "worn" (x153)
'hp': 'hp':
type: object type: object
path: Item.treasure.system.hp path: treasure.system.hp
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'max': 'max':
type: integer type: integer
path: Item.treasure.system.hp.max path: treasure.system.hp.max
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x153) variants: 0 (x153)
'value': 'value':
type: integer type: integer
path: Item.treasure.system.hp.value path: treasure.system.hp.value
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x153) variants: 0 (x153)
'level': 'level':
type: object type: object
path: Item.treasure.system.level path: treasure.system.level
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'value': 'value':
type: integer type: integer
path: Item.treasure.system.level.value path: treasure.system.level.value
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: 0 (x153) variants: 0 (x153)
'material': 'material':
type: object type: object
path: Item.treasure.system.material path: treasure.system.material
is_null: false is_null: false
values: 153 values: 153
schema: schema:
[grade]: [grade]:
type: type:
path: Item.treasure.system.material.grade path: treasure.system.material.grade
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
[type]: [type]:
type: type:
path: Item.treasure.system.material.type path: treasure.system.material.type
is_null: true is_null: true
values: 0 values: 0
is_empty: true is_empty: true
[containerId]:
type:
path: treasure.system.containerId
is_null: true
values: 0
is_empty: true
'hardness':
type: integer
path: treasure.system.hardness
is_null: false
values: 153
different_values: 1 (all same)
variants: 0 (x153)
'price': 'price':
type: object type: object
path: Item.treasure.system.price path: treasure.system.price
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'value': 'value':
type: object type: object
path: Item.treasure.system.price.value path: treasure.system.price.value
is_null: false is_null: false
values: 153 values: 153
schema: schema:
[cp]: [cp]:
type: integer type: integer
path: Item.treasure.system.price.value.cp path: treasure.system.price.value.cp
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x1) variants: 1 (x1)
[gp]: [gp]:
type: integer type: integer
path: Item.treasure.system.price.value.gp path: treasure.system.price.value.gp
is_null: true is_null: true
values: 122 values: 122
different_values: 10 different_values: 10
variants: variants:
- 10 (x20)
- 250 (x20) - 250 (x20)
- 25 (x20)
- 1000 (x20) - 1000 (x20)
- 25 (x20)
- 10 (x20)
- 4 (x19) - 4 (x19)
- 5 (x10) - 5 (x10)
- 50 (x4)
- 500 (x4) - 500 (x4)
- 50 (x4)
- 100 (x4) - 100 (x4)
- 1 (x1) - 1 (x1)
[pp]: [pp]:
type: integer type: integer
path: Item.treasure.system.price.value.pp path: treasure.system.price.value.pp
is_null: true is_null: true
values: 1 values: 1
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x1) variants: 1 (x1)
[sp]: [sp]:
type: integer type: integer
path: Item.treasure.system.price.value.sp path: treasure.system.price.value.sp
is_null: true is_null: true
values: 29 values: 29
different_values: 3 different_values: 3
@@ -181,13 +260,13 @@ schema:
- 1 (x1) - 1 (x1)
'publication': 'publication':
type: object type: object
path: Item.treasure.system.publication path: treasure.system.publication
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'license': 'license':
type: string type: string
path: Item.treasure.system.publication.license path: treasure.system.publication.license
is_null: false is_null: false
values: 153 values: 153
different_values: 2 different_values: 2
@@ -196,7 +275,7 @@ schema:
- "ORC" (x6) - "ORC" (x6)
'remaster': 'remaster':
type: boolean type: boolean
path: Item.treasure.system.publication.remaster path: treasure.system.publication.remaster
is_null: false is_null: false
values: 153 values: 153
different_values: 2 different_values: 2
@@ -205,7 +284,7 @@ schema:
- True (x6) - True (x6)
'title': 'title':
type: string type: string
path: Item.treasure.system.publication.title path: treasure.system.publication.title
is_null: false is_null: false
values: 153 values: 153
different_values: 4 different_values: 4
@@ -216,26 +295,33 @@ schema:
- "Pathfinder Bestiary" (x1) - "Pathfinder Bestiary" (x1)
'quantity': 'quantity':
type: integer type: integer
path: Item.treasure.system.quantity path: treasure.system.quantity
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: 1 (x153) variants: 1 (x153)
'rules': 'rules':
type: ignored (Foundry rules object) type: ignored (Foundry rules object)
path: Item.treasure.system.rules path: treasure.system.rules
is_null: false is_null: false
values: 153 values: 153
'size': 'size':
type: string type: string
path: Item.treasure.system.size path: treasure.system.size
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: "med" (x153) variants: "med" (x153)
'slug':
type: string
path: treasure.system.slug
is_null: false
values: 153
different_values: 153 (all different)
variants: [omitted]
[stackGroup]: [stackGroup]:
type: string type: string
path: Item.treasure.system.stackGroup path: treasure.system.stackGroup
is_null: true is_null: true
values: 54 values: 54
different_values: 2 different_values: 2
@@ -244,33 +330,33 @@ schema:
- "coins" (x4) - "coins" (x4)
'traits': 'traits':
type: object type: object
path: Item.treasure.system.traits path: treasure.system.traits
is_null: false is_null: false
values: 153 values: 153
schema: schema:
'rarity': 'rarity':
type: string type: string
path: Item.treasure.system.traits.rarity path: treasure.system.traits.rarity
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
variants: "common" (x153) variants: "common" (x153)
'value': 'value':
type: array<> type: array<>
path: Item.treasure.system.traits.value path: treasure.system.traits.value
is_null: false is_null: false
values: 153 values: 153
min_count: 0 min_count: 0
max_count: 0 max_count: 0
value_type: value_type:
type: type:
path: Item.treasure.system.traits.value.[] path: treasure.system.traits.value.[]
is_null: false is_null: false
values: 0 values: 0
is_empty: true is_empty: true
'type': 'type':
type: string type: string
path: Item.treasure.type path: treasure.type
is_null: false is_null: false
values: 153 values: 153
different_values: 1 (all same) different_values: 1 (all same)
+921
View File
@@ -0,0 +1,921 @@
name: vehicle
values: 63
schema:
'_id':
type: string
path: vehicle._id
is_null: false
values: 63
different_values: 63 (all different)
variants: [omitted]
'_stats':
type: object
path: vehicle._stats
is_null: false
values: 63
schema:
'compendiumSource':
type: string
path: vehicle._stats.compendiumSource
is_null: false
values: 63
different_values: 63 (all different)
variants: [omitted]
'coreVersion':
type: string
path: vehicle._stats.coreVersion
is_null: false
values: 63
different_values: 1 (all same)
variants: "13.344" (x63)
'systemId':
type: string
path: vehicle._stats.systemId
is_null: false
values: 63
different_values: 1 (all same)
variants: "pf2e" (x63)
'systemVersion':
type: string
path: vehicle._stats.systemVersion
is_null: false
values: 63
different_values: 1 (all same)
variants: "7.1.0" (x63)
'effects':
type: array<>
path: vehicle.effects
is_null: false
values: 63
min_count: 0
max_count: 0
value_type:
type:
path: vehicle.effects.[]
is_null: false
values: 0
is_empty: true
'folder':
type: string
path: vehicle.folder
is_null: false
values: 1
different_values: 1 (all same)
variants: "NH0Jv1cX3WrxQqvX" (x1)
'img':
type: string
path: vehicle.img
is_null: false
values: 63
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/vehicle.svg" (x63)
'items':
type: array<object>
path: vehicle.items
is_null: false
values: 63
min_count: 0
max_count: 6
value_type:
type: object
path: vehicle.items.[]
is_null: false
values: 101
schema:
'_id':
type: string
path: vehicle.items.[]._id
is_null: false
values: 101
different_values: 101
variants: [omitted]
'_stats':
type: object
path: vehicle.items.[]._stats
is_null: false
values: 101
schema:
'coreVersion':
type: string
path: vehicle.items.[]._stats.coreVersion
is_null: false
values: 101
different_values: 1 (all same)
variants: "13.344" (x101)
'systemId':
type: string
path: vehicle.items.[]._stats.systemId
is_null: false
values: 101
different_values: 1 (all same)
variants: "pf2e" (x101)
'systemVersion':
type: string
path: vehicle.items.[]._stats.systemVersion
is_null: false
values: 101
different_values: 1 (all same)
variants: "7.1.0" (x101)
[compendiumSource]:
type: string
path: vehicle.items.[]._stats.compendiumSource
is_null: true
values: 3
different_values: 3
variants:
- "Compendium.pf2e.bestiary-ability-glossary-srd.Item.UzITQk56510jg5hS" (x1)
- "Actor.JCEdRicozYUAvvr1.Item.vmJ59aOrcyY5Ma4M" (x1)
- "Actor.JCEdRicozYUAvvr1.Item.kXVd6uluNy32xVTp" (x1)
'effects':
type: array<>
path: vehicle.items.[].effects
is_null: false
values: 101
min_count: 0
max_count: 0
value_type:
type:
path: vehicle.items.[].effects.[]
is_null: false
values: 0
is_empty: true
'img':
type: string
path: vehicle.items.[].img
is_null: false
values: 101
different_values: 6
variants:
- "systems/pf2e/icons/actions/Passive.webp" (x67)
- "systems/pf2e/icons/default-icons/action.svg" (x18)
- "systems/pf2e/icons/actions/ThreeActions.webp" (x7)
- "systems/pf2e/icons/actions/TwoActions.webp" (x5)
- "systems/pf2e/icons/actions/OneAction.webp" (x3)
- "systems/pf2e/icons/actions/Reaction.webp" (x1)
'name':
type: string
path: vehicle.items.[].name
is_null: false
values: 101
different_values: 67
variants: [omitted]
'sort':
type: integer
path: vehicle.items.[].sort
is_null: false
values: 101
different_values: 1 (all same)
variants: 0 (x101)
'system':
type: object
path: vehicle.items.[].system
is_null: false
values: 101
schema:
'_migration':
type: object
path: vehicle.items.[].system._migration
is_null: false
values: 101
schema:
[previous]:
type:
path: vehicle.items.[].system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: vehicle.items.[].system._migration.version
is_null: false
values: 101
different_values: 1 (all same)
variants: 0,939 (x101)
'actionType':
type: object
path: vehicle.items.[].system.actionType
is_null: false
values: 101
schema:
'value':
type: string
path: vehicle.items.[].system.actionType.value
is_null: false
values: 101
different_values: 3
variants:
- "passive" (x82)
- "action" (x18)
- "reaction" (x1)
'actions':
type: object
path: vehicle.items.[].system.actions
is_null: false
values: 101
schema:
[value]:
type: integer
path: vehicle.items.[].system.actions.value
is_null: true
values: 18
different_values: 3
variants:
- 3 (x8)
- 2 (x6)
- 1 (x4)
[category]:
type: string
path: vehicle.items.[].system.category
is_null: true
values: 7
different_values: 2
variants:
- "interaction" (x5)
- "defensive" (x2)
'description':
type: object
path: vehicle.items.[].system.description
is_null: false
values: 101
schema:
'value':
type: string
path: vehicle.items.[].system.description.value
is_null: false
values: 101
different_values: 87
variants: [omitted]
'publication':
type: object
path: vehicle.items.[].system.publication
is_null: false
values: 101
schema:
'license':
type: string
path: vehicle.items.[].system.publication.license
is_null: false
values: 101
different_values: 1 (all same)
variants: "OGL" (x101)
'remaster':
type: boolean
path: vehicle.items.[].system.publication.remaster
is_null: false
values: 101
different_values: 1 (all same)
variants: False (x101)
'title':
type: string
path: vehicle.items.[].system.publication.title
is_null: false
values: 101
different_values: 1 (all same)
variants: "" (x101)
'rules':
type: ignored (Foundry rules object)
path: vehicle.items.[].system.rules
is_null: false
values: 101
[slug]:
type: string
path: vehicle.items.[].system.slug
is_null: true
values: 1
different_values: 1 (all same)
variants: "wind-up" (x1)
'traits':
type: object
path: vehicle.items.[].system.traits
is_null: false
values: 101
schema:
[rarity]:
type: string
path: vehicle.items.[].system.traits.rarity
is_null: true
values: 77
different_values: 1 (all same)
variants: "common" (x77)
'value':
type: array<string>
path: vehicle.items.[].system.traits.value
is_null: false
values: 101
min_count: 0
max_count: 5
value_type:
type: string
path: vehicle.items.[].system.traits.value.[]
is_null: false
values: 25
different_values: 13
variants:
- "magical" (x4)
- "fire" (x4)
- "manipulate" (x4)
- "light" (x2)
- "aura" (x2)
- "visual" (x2)
- "electricity" (x1)
- "mental" (x1)
- "move" (x1)
- "reckless" (x1)
- "attack" (x1)
- "concentrate" (x1)
- "exploration" (x1)
[frequency]:
type: object
path: vehicle.items.[].system.frequency
is_null: true
values: 2
schema:
'max':
type: integer
path: vehicle.items.[].system.frequency.max
is_null: false
values: 2
different_values: 1 (all same)
variants: 1 (x2)
'per':
type: string
path: vehicle.items.[].system.frequency.per
is_null: false
values: 2
different_values: 2
variants:
- "PT10M" (x1)
- "PT1M" (x1)
'type':
type: string
path: vehicle.items.[].type
is_null: false
values: 101
different_values: 1 (all same)
variants: "action" (x101)
'name':
type: string
path: vehicle.name
is_null: false
values: 63
different_values: 62
variants: [omitted]
'system':
type: object
path: vehicle.system
is_null: false
values: 63
schema:
'_migration':
type: object
path: vehicle.system._migration
is_null: false
values: 63
schema:
[previous]:
type:
path: vehicle.system._migration.previous
is_null: true
values: 0
is_empty: true
'version':
type: float
path: vehicle.system._migration.version
is_null: false
values: 63
different_values: 1 (all same)
variants: 0,939 (x63)
'attributes':
type: object
path: vehicle.system.attributes
is_null: false
values: 63
schema:
'ac':
type: object
path: vehicle.system.attributes.ac
is_null: false
values: 63
schema:
'check':
type: integer
path: vehicle.system.attributes.ac.check
is_null: false
values: 63
different_values: 1 (all same)
variants: 0 (x63)
'details':
type: string
path: vehicle.system.attributes.ac.details
is_null: false
values: 63
different_values: 1 (all same)
variants: "" (x63)
'value':
type: integer
path: vehicle.system.attributes.ac.value
is_null: false
values: 63
different_values: 26
variants: [omitted]
'collisionDC':
type: object
path: vehicle.system.attributes.collisionDC
is_null: false
values: 63
schema:
[value]:
type: integer
path: vehicle.system.attributes.collisionDC.value
is_null: true
values: 62
different_values: 21
variants: [omitted]
'collisionDamage':
type: object
path: vehicle.system.attributes.collisionDamage
is_null: false
values: 63
schema:
'value':
type: string
path: vehicle.system.attributes.collisionDamage.value
is_null: false
values: 63
different_values: 29
variants: [omitted]
[emitsSound]:
type: string | boolean
path: vehicle.system.attributes.emitsSound
is_null: true
values: 62
types:
- different_values: 1 (all same)
variants: "encounter" (x61)
- different_values: 1 (all same)
variants: True (x1)
'hardness':
type: integer
path: vehicle.system.attributes.hardness
is_null: false
values: 63
different_values: 8
variants:
- 5 (x22)
- 20 (x13)
- 15 (x12)
- 10 (x8)
- 0 (x4)
- 25 (x2)
- 1 (x1)
- 9 (x1)
'hp':
type: object
path: vehicle.system.attributes.hp
is_null: false
values: 63
schema:
'details':
type: string
path: vehicle.system.attributes.hp.details
is_null: false
values: 63
different_values: 1 (all same)
variants: "" (x63)
'max':
type: integer
path: vehicle.system.attributes.hp.max
is_null: false
values: 63
different_values: 33
variants: [omitted]
'temp':
type: integer
path: vehicle.system.attributes.hp.temp
is_null: false
values: 63
different_values: 1 (all same)
variants: 0 (x63)
'value':
type: integer
path: vehicle.system.attributes.hp.value
is_null: false
values: 63
different_values: 33
variants: [omitted]
'immunities':
type: array<object>
path: vehicle.system.attributes.immunities
is_null: false
values: 63
min_count: 1
max_count: 6
value_type:
type: object
path: vehicle.system.attributes.immunities.[]
is_null: false
values: 126
schema:
[exceptions]:
type: array<>
path: vehicle.system.attributes.immunities.[].exceptions
is_null: true
values: 15
min_count: 0
max_count: 0
value_type:
type:
path: vehicle.system.attributes.immunities.[].exceptions.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: vehicle.system.attributes.immunities.[].type
is_null: false
values: 126
different_values: 8
variants:
- "object-immunities" (x63)
- "critical-hits" (x29)
- "precision" (x29)
- "death-effects" (x1)
- "disease" (x1)
- "paralyzed" (x1)
- "poison" (x1)
- "unconscious" (x1)
[resistances]:
type: array<object>
path: vehicle.system.attributes.resistances
is_null: true
values: 4
min_count: 1
max_count: 5
value_type:
type: object
path: vehicle.system.attributes.resistances.[]
is_null: false
values: 8
schema:
'type':
type: string
path: vehicle.system.attributes.resistances.[].type
is_null: false
values: 8
different_values: 5
variants:
- "electricity" (x4)
- "cold" (x1)
- "fire" (x1)
- "piercing" (x1)
- "slashing" (x1)
'value':
type: integer
path: vehicle.system.attributes.resistances.[].value
is_null: false
values: 8
different_values: 3
variants:
- 10 (x6)
- 20 (x1)
- 12 (x1)
[weaknesses]:
type: array<object>
path: vehicle.system.attributes.weaknesses
is_null: true
values: 6
min_count: 0
max_count: 1
value_type:
type: object
path: vehicle.system.attributes.weaknesses.[]
is_null: false
values: 5
schema:
'type':
type: string
path: vehicle.system.attributes.weaknesses.[].type
is_null: false
values: 5
different_values: 2
variants:
- "fire" (x4)
- "electricity" (x1)
'value':
type: integer
path: vehicle.system.attributes.weaknesses.[].value
is_null: false
values: 5
different_values: 2
variants:
- 10 (x3)
- 5 (x2)
'details':
type: object
path: vehicle.system.details
is_null: false
values: 63
schema:
[AC]:
type: integer
path: vehicle.system.details.AC
is_null: true
values: 49
different_values: 1 (all same)
variants: 0 (x49)
'crew':
type: string
path: vehicle.system.details.crew
is_null: false
values: 63
different_values: 17
variants:
- "1 pilot" (x38)
- "1 pilot, 2 crew" (x6)
- "1 pilot, 3 crew" (x4)
- "1 pilot, 20 rowers" (x2)
- "1 pilot, 80 rowers" (x1)
- "1 pilot, 150 turners, 2,200 pushers" (x1)
- "1 pilot, 8 rowers" (x1)
- "1 pilot, 10 rowers" (x1)
- "1 pilot, 200 turners, 3000 pushers" (x1)
- "1 pilot, 400 rowers" (x1)
- "1 pilot, 4 crew" (x1)
- "1 pilot, 8 crew" (x1)
- "1 pilot, 1 crew" (x1)
- "1 pilot, 12 crew" (x1)
- "1 pilot, 5 other crew" (x1)
- "1 pilot, 200 crew" (x1)
- "1 pilot, 9 pushers" (x1)
'description':
type: string
path: vehicle.system.details.description
is_null: false
values: 63
different_values: 34
variants: [omitted]
'level':
type: object
path: vehicle.system.details.level
is_null: false
values: 63
schema:
'value':
type: integer
path: vehicle.system.details.level.value
is_null: false
values: 63
different_values: 21
variants: [omitted]
'passengers':
type: string
path: vehicle.system.details.passengers
is_null: false
values: 63
different_values: 22
variants: [omitted]
'pilotingCheck':
type: string
path: vehicle.system.details.pilotingCheck
is_null: false
values: 63
different_values: 55
variants: [omitted]
[price]:
type: integer
path: vehicle.system.details.price
is_null: true
values: 62
different_values: 43
variants: [omitted]
'publication':
type: object
path: vehicle.system.details.publication
is_null: false
values: 63
schema:
'license':
type: string
path: vehicle.system.details.publication.license
is_null: false
values: 63
different_values: 2
variants:
- "ORC" (x48)
- "OGL" (x15)
'remaster':
type: boolean
path: vehicle.system.details.publication.remaster
is_null: false
values: 63
different_values: 2
variants:
- True (x48)
- False (x15)
'title':
type: string
path: vehicle.system.details.publication.title
is_null: false
values: 63
different_values: 10
variants:
- "Pathfinder GM Core" (x23)
- "Pathfinder Guns & Gears" (x22)
- "Pathfinder Lost Omens The Grand Bazaar" (x5)
- "Pathfinder Lost Omens Tian Xia World Guide" (x5)
- "Pathfinder #174: Shadows of the Ancients" (x2)
- "Pathfinder #173: Doorway to the Red Star" (x2)
- "Pathfinder #179: Cradle of Quartz" (x1)
- "Pathfinder Bestiary 3" (x1)
- "Pathfinder #177: Burning Tundra" (x1)
- "Pathfinder #182: Graveclaw" (x1)
'space':
type: object
path: vehicle.system.details.space
is_null: false
values: 63
schema:
'high':
type: integer
path: vehicle.system.details.space.high
is_null: false
values: 63
different_values: 21
variants: [omitted]
'long':
type: integer
path: vehicle.system.details.space.long
is_null: false
values: 63
different_values: 18
variants:
- 10 (x22)
- 5 (x8)
- 15 (x6)
- 20 (x6)
- 30 (x5)
- 75 (x2)
- 300 (x2)
- 65 (x2)
- 9 (x1)
- 60 (x1)
- 110 (x1)
- 50 (x1)
- 130 (x1)
- 80 (x1)
- 250 (x1)
- 40 (x1)
- 100 (x1)
- 90 (x1)
'wide':
type: integer
path: vehicle.system.details.space.wide
is_null: false
values: 63
different_values: 15
variants:
- 10 (x16)
- 5 (x13)
- 20 (x10)
- 15 (x8)
- 30 (x4)
- 50 (x3)
- 1 (x1)
- 9 (x1)
- 8 (x1)
- 35 (x1)
- 40 (x1)
- 65 (x1)
- 100 (x1)
- 6 (x1)
- 2 (x1)
'speed':
type: string
path: vehicle.system.details.speed
is_null: false
values: 63
different_values: 56
variants: [omitted]
'saves':
type: object
path: vehicle.system.saves
is_null: false
values: 63
schema:
'fortitude':
type: object
path: vehicle.system.saves.fortitude
is_null: false
values: 63
schema:
[item]:
type: integer
path: vehicle.system.saves.fortitude.item
is_null: true
values: 48
different_values: 1 (all same)
variants: 0 (x48)
[rank]:
type: integer
path: vehicle.system.saves.fortitude.rank
is_null: true
values: 48
different_values: 1 (all same)
variants: 0 (x48)
'saveDetail':
type: string
path: vehicle.system.saves.fortitude.saveDetail
is_null: false
values: 63
different_values: 1 (all same)
variants: "" (x63)
'value':
type: integer
path: vehicle.system.saves.fortitude.value
is_null: false
values: 63
different_values: 25
variants: [omitted]
'traits':
type: object
path: vehicle.system.traits
is_null: false
values: 63
schema:
'rarity':
type: string
path: vehicle.system.traits.rarity
is_null: false
values: 63
different_values: 4
variants:
- "uncommon" (x25)
- "common" (x18)
- "rare" (x17)
- "unique" (x3)
'size':
type: object
path: vehicle.system.traits.size
is_null: false
values: 63
schema:
'value':
type: string
path: vehicle.system.traits.size.value
is_null: false
values: 63
different_values: 4
variants:
- "lg" (x31)
- "huge" (x13)
- "grg" (x13)
- "med" (x6)
'value':
type: array<string>
path: vehicle.system.traits.value
is_null: false
values: 63
min_count: 0
max_count: 3
value_type:
type: string
path: vehicle.system.traits.value.[]
is_null: false
values: 7
different_values: 4
variants:
- "magical" (x4)
- "clockwork" (x1)
- "artifact" (x1)
- "teleportation" (x1)
[customModifiers]:
type: object
path: vehicle.system.customModifiers
is_null: true
values: 5
schema:
'type':
type: string
path: vehicle.type
is_null: false
values: 63
different_values: 1 (all same)
variants: "vehicle" (x63)
[prototypeToken]:
type: object
path: vehicle.prototypeToken
is_null: true
values: 5
schema:
'name':
type: string
path: vehicle.prototypeToken.name
is_null: false
values: 5
different_values: 5
variants:
- "Light Sky Chariot" (x1)
- "Heavy Chariot" (x1)
- "Medium Sky Chariot" (x1)
- "Light Chariot" (x1)
- "Heavy Sky Chariot" (x1)
File diff suppressed because it is too large Load Diff
-701
View File
@@ -1,701 +0,0 @@
name: 10th Rank
values: 22
schema:
'_id':
type: string
path: 10th Rank._id
is_null: false
values: 22
different_values: 22 (all different)
variants: [omitted]
'folder':
type: string
path: 10th Rank.folder
is_null: false
values: 22
different_values: 1 (all same)
variants: "x5tjEh1N0FHzbHkv" (x22)
'img':
type: string
path: 10th Rank.img
is_null: false
values: 22
different_values: 22 (all different)
variants: [omitted]
'name':
type: string
path: 10th Rank.name
is_null: false
values: 22
different_values: 22 (all different)
variants: [omitted]
'system':
type: object
path: 10th Rank.system
is_null: false
values: 22
schema:
[area]:
type: object
path: 10th Rank.system.area
is_null: true
values: 2
schema:
'type':
type: string
path: 10th Rank.system.area.type
is_null: false
values: 2
different_values: 1 (all same)
variants: "burst" (x2)
'value':
type: integer
path: 10th Rank.system.area.value
is_null: false
values: 2
different_values: 2
variants:
- 60 (x1)
- 50 (x1)
'cost':
type: object
path: 10th Rank.system.cost
is_null: false
values: 22
schema:
'value':
type: string
path: 10th Rank.system.cost.value
is_null: false
values: 22
different_values: 1 (all same)
variants: "" (x22)
'counteraction':
type: boolean
path: 10th Rank.system.counteraction
is_null: false
values: 22
different_values: 2
variants:
- False (x21)
- True (x1)
'damage':
type: object
path: 10th Rank.system.damage
is_null: false
values: 22
schema:
[0]:
type: object
path: 10th Rank.system.damage.0
is_null: true
values: 3
schema:
'applyMod':
type: boolean
path: 10th Rank.system.damage.0.applyMod
is_null: false
values: 3
different_values: 1 (all same)
variants: False (x3)
[category]:
type:
path: 10th Rank.system.damage.0.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 10th Rank.system.damage.0.formula
is_null: false
values: 3
different_values: 2
variants:
- "3d10" (x2)
- "10d8+40" (x1)
'kinds':
type: array<string>
path: 10th Rank.system.damage.0.kinds
is_null: false
values: 3
min_count: 1
max_count: 1
value_type:
type: string
path: 10th Rank.system.damage.0.kinds.[]
is_null: false
values: 3
different_values: 2
variants:
- "damage" (x2)
- "healing" (x1)
[materials]:
type: array<>
path: 10th Rank.system.damage.0.materials
is_null: true
values: 2
min_count: 0
max_count: 0
value_type:
type:
path: 10th Rank.system.damage.0.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 10th Rank.system.damage.0.type
is_null: false
values: 3
different_values: 3
variants:
- "acid" (x1)
- "untyped" (x1)
- "mental" (x1)
[1]:
type: object
path: 10th Rank.system.damage.1
is_null: true
values: 2
schema:
'applyMod':
type: boolean
path: 10th Rank.system.damage.1.applyMod
is_null: false
values: 2
different_values: 1 (all same)
variants: False (x2)
[category]:
type:
path: 10th Rank.system.damage.1.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 10th Rank.system.damage.1.formula
is_null: false
values: 2
different_values: 1 (all same)
variants: "3d10" (x2)
'kinds':
type: array<string>
path: 10th Rank.system.damage.1.kinds
is_null: false
values: 2
min_count: 1
max_count: 1
value_type:
type: string
path: 10th Rank.system.damage.1.kinds.[]
is_null: false
values: 2
different_values: 1 (all same)
variants: "damage" (x2)
[materials]:
type: array<>
path: 10th Rank.system.damage.1.materials
is_null: true
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 10th Rank.system.damage.1.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 10th Rank.system.damage.1.type
is_null: false
values: 2
different_values: 1 (all same)
variants: "bludgeoning" (x2)
[2]:
type: object
path: 10th Rank.system.damage.2
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 10th Rank.system.damage.2.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 10th Rank.system.damage.2.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 10th Rank.system.damage.2.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "3d10" (x1)
'kinds':
type: array<string>
path: 10th Rank.system.damage.2.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 10th Rank.system.damage.2.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 10th Rank.system.damage.2.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 10th Rank.system.damage.2.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 10th Rank.system.damage.2.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "cold" (x1)
[3]:
type: object
path: 10th Rank.system.damage.3
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 10th Rank.system.damage.3.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 10th Rank.system.damage.3.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 10th Rank.system.damage.3.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "3d10" (x1)
'kinds':
type: array<string>
path: 10th Rank.system.damage.3.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 10th Rank.system.damage.3.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 10th Rank.system.damage.3.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 10th Rank.system.damage.3.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 10th Rank.system.damage.3.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "electricity" (x1)
[4]:
type: object
path: 10th Rank.system.damage.4
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 10th Rank.system.damage.4.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 10th Rank.system.damage.4.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 10th Rank.system.damage.4.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "3d10" (x1)
'kinds':
type: array<string>
path: 10th Rank.system.damage.4.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 10th Rank.system.damage.4.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 10th Rank.system.damage.4.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 10th Rank.system.damage.4.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 10th Rank.system.damage.4.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "bludgeoning" (x1)
[5]:
type: object
path: 10th Rank.system.damage.5
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 10th Rank.system.damage.5.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 10th Rank.system.damage.5.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 10th Rank.system.damage.5.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "3d10" (x1)
'kinds':
type: array<string>
path: 10th Rank.system.damage.5.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 10th Rank.system.damage.5.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 10th Rank.system.damage.5.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 10th Rank.system.damage.5.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 10th Rank.system.damage.5.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "fire" (x1)
[defense]:
type: object
path: 10th Rank.system.defense
is_null: true
values: 3
schema:
'save':
type: object
path: 10th Rank.system.defense.save
is_null: false
values: 3
schema:
'basic':
type: boolean
path: 10th Rank.system.defense.save.basic
is_null: false
values: 3
different_values: 2
variants:
- False (x2)
- True (x1)
'statistic':
type: string
path: 10th Rank.system.defense.save.statistic
is_null: false
values: 3
different_values: 2
variants:
- "will" (x2)
- "reflex" (x1)
'description':
type: object
path: 10th Rank.system.description
is_null: false
values: 22
schema:
'value':
type: string
path: 10th Rank.system.description.value
is_null: false
values: 22
different_values: 22 (all different)
variants: [omitted]
'duration':
type: object
path: 10th Rank.system.duration
is_null: false
values: 22
schema:
'sustained':
type: boolean
path: 10th Rank.system.duration.sustained
is_null: false
values: 22
different_values: 2
variants:
- False (x20)
- True (x2)
'value':
type: string
path: 10th Rank.system.duration.value
is_null: false
values: 22
different_values: 6
variants:
- "" (x8)
- "1 minute" (x8)
- "until the end of your next turn" (x3)
- "24 hours (see text)" (x1)
- "varies" (x1)
- "until the start of your next turn" (x1)
'level':
type: object
path: 10th Rank.system.level
is_null: false
values: 22
schema:
'value':
type: integer
path: 10th Rank.system.level.value
is_null: false
values: 22
different_values: 1 (all same)
variants: 10 (x22)
'publication':
type: object
path: 10th Rank.system.publication
is_null: false
values: 22
schema:
'license':
type: string
path: 10th Rank.system.publication.license
is_null: false
values: 22
different_values: 2
variants:
- "ORC" (x13)
- "OGL" (x9)
'remaster':
type: boolean
path: 10th Rank.system.publication.remaster
is_null: false
values: 22
different_values: 2
variants:
- True (x14)
- False (x8)
'title':
type: string
path: 10th Rank.system.publication.title
is_null: false
values: 22
different_values: 7
variants:
- "Pathfinder Player Core" (x10)
- "Pathfinder Secrets of Magic" (x4)
- "Pathfinder Core Rulebook" (x3)
- "Pathfinder War of Immortals" (x2)
- "Pathfinder #177: Burning Tundra" (x1)
- "Pathfinder Rage of Elements" (x1)
- "Pathfinder Player Core 2" (x1)
'range':
type: object
path: 10th Rank.system.range
is_null: false
values: 22
schema:
'value':
type: string
path: 10th Rank.system.range.value
is_null: false
values: 22
different_values: 8
variants:
- "" (x10)
- "500 feet" (x3)
- "100 feet" (x2)
- "120 feet" (x2)
- "30 feet" (x2)
- "1,000 feet" (x1)
- "120" (x1)
- "5 feet" (x1)
'requirements':
type: string
path: 10th Rank.system.requirements
is_null: false
values: 22
different_values: 1 (all same)
variants: "" (x22)
'rules':
type: ignored (Foundry rules object)
path: 10th Rank.system.rules
is_null: false
values: 22
'target':
type: object
path: 10th Rank.system.target
is_null: false
values: 22
schema:
'value':
type: string
path: 10th Rank.system.target.value
is_null: false
values: 22
different_values: 6
variants:
- "" (x17)
- "up to 5 creatures" (x1)
- "1 willing ally and 1 enemy" (x1)
- "the triggering spell" (x1)
- "you and up to 5 willing targets" (x1)
- "dead creatures and living creatures of your choice within range" (x1)
'time':
type: object
path: 10th Rank.system.time
is_null: false
values: 22
schema:
'value':
type: string
path: 10th Rank.system.time.value
is_null: false
values: 22
different_values: 5
variants:
- "3" (x10)
- "2" (x9)
- "10 minutes" (x1)
- "reaction" (x1)
- "1 hour" (x1)
'traits':
type: object
path: 10th Rank.system.traits
is_null: false
values: 22
schema:
'rarity':
type: string
path: 10th Rank.system.traits.rarity
is_null: false
values: 22
different_values: 3
variants:
- "common" (x16)
- "rare" (x4)
- "uncommon" (x2)
'traditions':
type: array<string>
path: 10th Rank.system.traits.traditions
is_null: false
values: 22
min_count: 1
max_count: 4
value_type:
type: string
path: 10th Rank.system.traits.traditions.[]
is_null: false
values: 45
different_values: 4
variants:
- "primal" (x14)
- "occult" (x11)
- "divine" (x10)
- "arcane" (x10)
'value':
type: array<string>
path: 10th Rank.system.traits.value
is_null: false
values: 22
min_count: 2
max_count: 9
value_type:
type: string
path: 10th Rank.system.traits.value.[]
is_null: false
values: 70
different_values: 21
variants: [omitted]
'type':
type: string
path: 10th Rank.type
is_null: false
values: 22
different_values: 1 (all same)
variants: "spell" (x22)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-824
View File
@@ -1,824 +0,0 @@
name: 8th Rank
values: 48
schema:
'_id':
type: string
path: 8th Rank._id
is_null: false
values: 48
different_values: 48 (all different)
variants: [omitted]
'folder':
type: string
path: 8th Rank.folder
is_null: false
values: 48
different_values: 1 (all same)
variants: "IfuYSF4ymX48CZnm" (x48)
'img':
type: string
path: 8th Rank.img
is_null: false
values: 48
different_values: 48 (all different)
variants: [omitted]
'name':
type: string
path: 8th Rank.name
is_null: false
values: 48
different_values: 48 (all different)
variants: [omitted]
'system':
type: object
path: 8th Rank.system
is_null: false
values: 48
schema:
[area]:
type: object
path: 8th Rank.system.area
is_null: true
values: 18
schema:
[details]:
type: string
path: 8th Rank.system.area.details
is_null: true
values: 1
different_values: 1 (all same)
variants: "10-foot emanation which affects you." (x1)
'type':
type: string
path: 8th Rank.system.area.type
is_null: false
values: 18
different_values: 5
variants:
- "burst" (x10)
- "emanation" (x4)
- "line" (x2)
- "cylinder" (x1)
- "cone" (x1)
'value':
type: integer
path: 8th Rank.system.area.value
is_null: false
values: 18
different_values: 8
variants:
- 20 (x4)
- 60 (x4)
- 30 (x3)
- 10 (x2)
- 120 (x2)
- 40 (x1)
- 25 (x1)
- 15 (x1)
'cost':
type: object
path: 8th Rank.system.cost
is_null: false
values: 48
schema:
'value':
type: string
path: 8th Rank.system.cost.value
is_null: false
values: 48
different_values: 1 (all same)
variants: "" (x48)
'counteraction':
type: boolean
path: 8th Rank.system.counteraction
is_null: false
values: 48
different_values: 2
variants:
- False (x46)
- True (x2)
'damage':
type: object
path: 8th Rank.system.damage
is_null: false
values: 48
schema:
[0]:
type: object
path: 8th Rank.system.damage.0
is_null: true
values: 9
schema:
[applyMod]:
type: boolean
path: 8th Rank.system.damage.0.applyMod
is_null: true
values: 8
different_values: 1 (all same)
variants: False (x8)
[category]:
type:
path: 8th Rank.system.damage.0.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 8th Rank.system.damage.0.formula
is_null: false
values: 9
different_values: 8
variants:
- "10d10" (x2)
- "6d6" (x1)
- "60" (x1)
- "11d6" (x1)
- "10d8" (x1)
- "14d6" (x1)
- "3d4+3" (x1)
- "5d10" (x1)
'kinds':
type: array<string>
path: 8th Rank.system.damage.0.kinds
is_null: false
values: 9
min_count: 1
max_count: 1
value_type:
type: string
path: 8th Rank.system.damage.0.kinds.[]
is_null: false
values: 9
different_values: 1 (all same)
variants: "damage" (x9)
'type':
type: string
path: 8th Rank.system.damage.0.type
is_null: false
values: 9
different_values: 6
variants:
- "fire" (x2)
- "void" (x2)
- "bludgeoning" (x2)
- "cold" (x1)
- "spirit" (x1)
- "force" (x1)
[materials]:
type: array<>
path: 8th Rank.system.damage.0.materials
is_null: true
values: 6
min_count: 0
max_count: 0
value_type:
type:
path: 8th Rank.system.damage.0.materials.[]
is_null: false
values: 0
is_empty: true
[8G9YlsK0PDFdlbdE]:
type: object
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "6d10" (x1)
'kinds':
type: array<string>
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 8th Rank.system.damage.8G9YlsK0PDFdlbdE.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "bludgeoning" (x1)
[O3qtZtTquCRAFJRB]:
type: object
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "6d12" (x1)
'kinds':
type: array<string>
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 8th Rank.system.damage.O3qtZtTquCRAFJRB.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "mental" (x1)
[XBFtljOdUx24bHoA]:
type: object
path: 8th Rank.system.damage.XBFtljOdUx24bHoA
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "10d6" (x1)
'kinds':
type: array<string>
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 8th Rank.system.damage.XBFtljOdUx24bHoA.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "mental" (x1)
[dFAvAi8vt0k4MIyH]:
type: object
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH
is_null: true
values: 1
schema:
'applyMod':
type: boolean
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.applyMod
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
[category]:
type:
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.category
is_null: true
values: 0
is_empty: true
'formula':
type: string
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.formula
is_null: false
values: 1
different_values: 1 (all same)
variants: "12d8" (x1)
'kinds':
type: array<string>
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.kinds
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.kinds.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "damage" (x1)
'materials':
type: array<>
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.materials
is_null: false
values: 1
min_count: 0
max_count: 0
value_type:
type:
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.materials.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: 8th Rank.system.damage.dFAvAi8vt0k4MIyH.type
is_null: false
values: 1
different_values: 1 (all same)
variants: "cold" (x1)
[defense]:
type: object
path: 8th Rank.system.defense
is_null: true
values: 19
schema:
'save':
type: object
path: 8th Rank.system.defense.save
is_null: false
values: 19
schema:
'basic':
type: boolean
path: 8th Rank.system.defense.save.basic
is_null: false
values: 19
different_values: 2
variants:
- False (x12)
- True (x7)
'statistic':
type: string
path: 8th Rank.system.defense.save.statistic
is_null: false
values: 19
different_values: 3
variants:
- "fortitude" (x7)
- "will" (x7)
- "reflex" (x5)
'description':
type: object
path: 8th Rank.system.description
is_null: false
values: 48
schema:
'value':
type: string
path: 8th Rank.system.description.value
is_null: false
values: 48
different_values: 48 (all different)
variants: [omitted]
'duration':
type: object
path: 8th Rank.system.duration
is_null: false
values: 48
schema:
'sustained':
type: boolean
path: 8th Rank.system.duration.sustained
is_null: false
values: 48
different_values: 2
variants:
- False (x39)
- True (x9)
'value':
type: string
path: 8th Rank.system.duration.value
is_null: false
values: 48
different_values: 9
variants:
- "" (x17)
- "1 minute" (x11)
- "varies" (x6)
- "until the end of your next turn" (x5)
- "1 hour" (x4)
- "10 minutes" (x2)
- "1 round" (x1)
- "until the next time you make your daily preparations" (x1)
- "8 hours" (x1)
'level':
type: object
path: 8th Rank.system.level
is_null: false
values: 48
schema:
'value':
type: integer
path: 8th Rank.system.level.value
is_null: false
values: 48
different_values: 1 (all same)
variants: 8 (x48)
'publication':
type: object
path: 8th Rank.system.publication
is_null: false
values: 48
schema:
'license':
type: string
path: 8th Rank.system.publication.license
is_null: false
values: 48
different_values: 2
variants:
- "OGL" (x24)
- "ORC" (x24)
'remaster':
type: boolean
path: 8th Rank.system.publication.remaster
is_null: false
values: 48
different_values: 2
variants:
- True (x28)
- False (x20)
'title':
type: string
path: 8th Rank.system.publication.title
is_null: false
values: 48
different_values: 14
variants:
- "Pathfinder Player Core" (x14)
- "Pathfinder Secrets of Magic" (x7)
- "Pathfinder Core Rulebook" (x5)
- "Pathfinder Player Core 2" (x4)
- "Pathfinder #156: The Apocalypse Prophet" (x4)
- "Pathfinder Rage of Elements" (x4)
- "Pathfinder Dark Archive" (x2)
- "Pathfinder #205: Singer, Stalker, Skinsaw Man" (x2)
- "Pathfinder Lost Omens Legends" (x1)
- "Pathfinder GM Core" (x1)
- "Pathfinder Lost Omens Monsters of Myth" (x1)
- "Pathfinder Lost Omens Rival Academies" (x1)
- "Pathfinder War of Immortals" (x1)
- "Pathfinder Howl of the Wild" (x1)
'range':
type: object
path: 8th Rank.system.range
is_null: false
values: 48
schema:
'value':
type: string
path: 8th Rank.system.range.value
is_null: false
values: 48
different_values: 10
variants:
- "120 feet" (x9)
- "" (x8)
- "30 feet" (x7)
- "500 feet" (x7)
- "100 feet" (x7)
- "touch" (x4)
- "60 feet" (x3)
- "planetary" (x1)
- "20 feet" (x1)
- "unlimited" (x1)
'requirements':
type: string
path: 8th Rank.system.requirements
is_null: false
values: 48
different_values: 2
variants:
- "" (x47)
- "You have a deity." (x1)
'rules':
type: ignored (Foundry rules object)
path: 8th Rank.system.rules
is_null: false
values: 48
'target':
type: object
path: 8th Rank.system.target
is_null: false
values: 48
schema:
'value':
type: string
path: 8th Rank.system.target.value
is_null: false
values: 48
different_values: 16
variants:
- "" (x24)
- "1 creature" (x10)
- "You and up to 10 willing living allies" (x1)
- "your companion" (x1)
- "any number of living creatures" (x1)
- "1 living creature" (x1)
- "allies in the area" (x1)
- "1 willing creature" (x1)
- "up to 12 creatures you know by name and have met in person" (x1)
- "up to 10 creatures" (x1)
- "you and up to 5 willing creatures" (x1)
- "up to 6 creatures" (x1)
- "you and up to 6 willing creatures" (x1)
- "1 creature or object" (x1)
- "up to 4 willing creatures" (x1)
- "1 creature or object tracked and up to 5 other willing creatures" (x1)
'time':
type: object
path: 8th Rank.system.time
is_null: false
values: 48
schema:
'value':
type: string
path: 8th Rank.system.time.value
is_null: false
values: 48
different_values: 6
variants:
- "2" (x27)
- "3" (x14)
- "10 minutes" (x3)
- "1 minute" (x2)
- "reaction" (x1)
- "1" (x1)
'traits':
type: object
path: 8th Rank.system.traits
is_null: false
values: 48
schema:
'rarity':
type: string
path: 8th Rank.system.traits.rarity
is_null: false
values: 48
different_values: 3
variants:
- "common" (x32)
- "rare" (x9)
- "uncommon" (x7)
[selected]:
type: object
path: 8th Rank.system.traits.selected
is_null: true
values: 1
schema:
'necromancy':
type: string
path: 8th Rank.system.traits.selected.necromancy
is_null: false
values: 1
different_values: 1 (all same)
variants: "Necromancy" (x1)
'traditions':
type: array<string>
path: 8th Rank.system.traits.traditions
is_null: false
values: 48
min_count: 1
max_count: 4
value_type:
type: string
path: 8th Rank.system.traits.traditions.[]
is_null: false
values: 89
different_values: 4
variants:
- "arcane" (x32)
- "occult" (x23)
- "primal" (x20)
- "divine" (x14)
'value':
type: array<string>
path: 8th Rank.system.traits.value
is_null: false
values: 48
min_count: 2
max_count: 7
value_type:
type: string
path: 8th Rank.system.traits.value.[]
is_null: false
values: 169
different_values: 37
variants: [omitted]
[heightening]:
type: object
path: 8th Rank.system.heightening
is_null: true
values: 13
schema:
[area]:
type: integer
path: 8th Rank.system.heightening.area
is_null: true
values: 6
different_values: 2
variants:
- 0 (x5)
- 10 (x1)
[damage]:
type: object
path: 8th Rank.system.heightening.damage
is_null: true
values: 11
schema:
[0]:
type: string
path: 8th Rank.system.heightening.damage.0
is_null: true
values: 7
different_values: 5
variants:
- "1d10" (x3)
- "1d6" (x1)
- "10" (x1)
- "2d8" (x1)
- "2d6" (x1)
[8G9YlsK0PDFdlbdE]:
type: string
path: 8th Rank.system.heightening.damage.8G9YlsK0PDFdlbdE
is_null: true
values: 1
different_values: 1 (all same)
variants: "1d10" (x1)
[dFAvAi8vt0k4MIyH]:
type: string
path: 8th Rank.system.heightening.damage.dFAvAi8vt0k4MIyH
is_null: true
values: 1
different_values: 1 (all same)
variants: "1d8" (x1)
[interval]:
type: integer
path: 8th Rank.system.heightening.interval
is_null: true
values: 11
different_values: 1 (all same)
variants: 1 (x11)
'type':
type: string
path: 8th Rank.system.heightening.type
is_null: false
values: 13
different_values: 2
variants:
- "interval" (x11)
- "fixed" (x2)
[levels]:
type: object
path: 8th Rank.system.heightening.levels
is_null: true
values: 2
schema:
'10':
type: object
path: 8th Rank.system.heightening.levels.10
is_null: false
values: 2
schema:
'area':
type: object
path: 8th Rank.system.heightening.levels.10.area
is_null: false
values: 2
schema:
'areaType':
type: string
path: 8th Rank.system.heightening.levels.10.area.areaType
is_null: false
values: 2
different_values: 2
variants:
- "burst" (x1)
- "emanation" (x1)
'type':
type: string
path: 8th Rank.system.heightening.levels.10.area.type
is_null: false
values: 2
different_values: 1 (all same)
variants: "burst" (x2)
'value':
type: integer
path: 8th Rank.system.heightening.levels.10.area.value
is_null: false
values: 2
different_values: 2
variants:
- 1320 (x1)
- 500 (x1)
[range]:
type: object
path: 8th Rank.system.heightening.levels.10.range
is_null: true
values: 1
schema:
'value':
type: string
path: 8th Rank.system.heightening.levels.10.range.value
is_null: false
values: 1
different_values: 1 (all same)
variants: "half a mile" (x1)
'type':
type: string
path: 8th Rank.type
is_null: false
values: 48
different_values: 1 (all same)
variants: "spell" (x48)
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More