2 Commits
526 changed files with 184410 additions and 203487 deletions
@@ -0,0 +1,10 @@
#### [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
```
@@ -0,0 +1,47 @@
#### [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')
Название папки\.
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,14 @@
#### [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')
Строковое представление данных о папки компендиума\.
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,30 @@
#### [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\(\)') | Строковое представление данных о папки компендиума\. |
@@ -0,0 +1,17 @@
#### [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')
Добавляемая папка\.
@@ -0,0 +1,21 @@
#### [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')
Искомая папка
@@ -0,0 +1,13 @@
#### [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')
@@ -0,0 +1,21 @@
#### [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\)') | Получение папки по идентификатору |
@@ -0,0 +1,10 @@
#### [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();
```
@@ -0,0 +1,19 @@
#### [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')
@@ -0,0 +1,17 @@
#### [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\`\. |
@@ -1,13 +0,0 @@
#### [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
@@ -0,0 +1,29 @@
#### [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')
Идентификатор запрашиваемой сущности\.
@@ -1,61 +0,0 @@
#### [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')
Идентификатор запрашиваемой сущности\.
@@ -1,27 +0,0 @@
#### [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')
Сущность, соответствующая указанному типу и идентификатору\.
@@ -1,27 +0,0 @@
#### [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')
Подчинённая сущность, соответствующая указанному типу и идентификатору\.
+1 -8
View File
@@ -13,8 +13,7 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
| [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(Pf2eDbContext,EntityType,int).md 'Pf2eDataScrapper\.Helpers\.EntityView\.EntityView\(Pf2eModel\.Pf2eDbContext, Pf2eModel\.Model\.Enum\.EntityType, int\)') | Конструктор класса, который получает сущность из базы данных и заполняет её данными\. |
| [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 | |
| :--- | :--- | | :--- | :--- |
@@ -22,11 +21,5 @@ 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\)') | Получает подчинённую сущность по типу и идентификатору\. |
@@ -0,0 +1,13 @@
#### [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')
@@ -1,17 +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\) 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" /\>
@@ -0,0 +1,23 @@
#### [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,10 +13,11 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
| [FoundryEnCompendium\(FoundryEnRepository\)](FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.FoundryEnCompendium\(Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository\)') | Загрузчик данных компендиума\. | | [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\)') | Загрузчик данных компендиума\. |
| 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') | Репозиторий данных\. |
@@ -1,13 +0,0 @@
#### [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')
@@ -1,16 +0,0 @@
#### [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.AbstractGitHubRepository internal class FoundryEnRepository : Pf2eDataScrapper.Importers.Repositories.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; [Pf2eDataScrapper\.Importers\.Repositories\.AbstractGitHubRepository](https://docs.microsoft.com/en-us/dotnet/api/Pf2eDataScrapper.Importers.Repositories.AbstractGitHubRepository 'Pf2eDataScrapper\.Importers\.Repositories\.AbstractGitHubRepository') &#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; [GitRepository](GitRepository.md 'Pf2eDataScrapper\.Importers\.Repositories\.GitRepository') &#129106; FoundryEnRepository
| Constructors | | | Constructors | |
| :--- | :--- | | :--- | :--- |
@@ -11,6 +11,9 @@ 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,6 +12,7 @@ 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,5 +6,11 @@
| 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') | Тип документов компендиума\. |
@@ -1,7 +0,0 @@
#### [Pf2eDataScrapper](index.md 'index')
## Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers Namespace
| Classes | |
| :--- | :--- |
| [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals') | Глобальные константы и утилиты для импорта данных в формате Foundry En\. |
@@ -6,5 +6,6 @@
| 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') | |
@@ -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\(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')
Коллекция названий элементов структуры данных/
@@ -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\(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,7 +17,6 @@
| [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') | Общее описание обработчиков данных\. |
+24 -6
View File
@@ -40,38 +40,56 @@ 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` 5 `Familiar` 8
Действие фамильяра\. Действие фамильяра\.
<a name='Pf2eModel.Model.Enum.ActionCategory.ArmyTactic'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.ArmyTactic'></a>
`ArmyTactic` 6 `ArmyTactic` 9
Действие тактики армии\. Действие тактики армии\.
<a name='Pf2eModel.Model.Enum.ActionCategory.ArmyWarAction'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.ArmyWarAction'></a>
`ArmyWarAction` 7 `ArmyWarAction` 10
Действие войны армии\. Действие войны армии\.
<a name='Pf2eModel.Model.Enum.ActionCategory.KingdomActivity'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.KingdomActivity'></a>
`KingdomActivity` 8 `KingdomActivity` 11
Активность королевства\. Активность королевства\.
<a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeat'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeat'></a>
`KingdomFeat` 9 `KingdomFeat` 12
Действие черты королевства\. Действие черты королевства\.
<a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeature'></a> <a name='Pf2eModel.Model.Enum.ActionCategory.KingdomFeature'></a>
`KingdomFeature` 10 `KingdomFeature` 13
Действие особенности королевства\. Действие особенности королевства\.
-8
View File
@@ -182,14 +182,6 @@ 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>
+12 -43
View File
@@ -18,7 +18,7 @@ public class EntityView
/// <summary> /// <summary>
/// Корневая сущность. /// Корневая сущность.
/// </summary> /// </summary>
public Entity Entity { get; } public Entity? Entity { get; }
/// <summary> /// <summary>
/// Основная сущность. /// Основная сущность.
@@ -26,43 +26,17 @@ 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; Getter? getter = _getters.FirstOrDefault(g => g.Type == type);
Entity = GetEntity(type, id);
SubEntity = GetSubEntity(type, id);
}
/// <summary> Entity fullEntity =
/// Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными. context
/// </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) .Entities.Where(e => e.Id == id && e.Type == type)
.Include(e => e.Sources) .Include(e => e.Sources)
.ThenInclude(s => s.Source) .ThenInclude(s => s.Source)
@@ -73,18 +47,13 @@ public class EntityView
.ThenInclude(t => t.Entity) .ThenInclude(t => t.Entity)
.FirstOrDefault() ?? throw new("Entity is null"); .FirstOrDefault() ?? throw new("Entity is null");
/// <summary> IEntity? subEntity =
/// Получает подчинённую сущность по типу и идентификатору. (getter != null)
/// </summary> ? getter.Get(id, context)
/// <param name="type">Тип сущности.</param> : (IEntity?)context.Find(EntityOfTypeAttribute.Resolve(fullEntity), id);
/// <param name="id">Идентификатор сущности.</param>
/// <returns>Подчинённая сущность, соответствующая указанному типу и идентификатору.</returns> Entity = fullEntity;
private IEntity? GetSubEntity(EntityType type, int id) SubEntity = subEntity;
{
Getter? getter = _getters.FirstOrDefault(g => g.Type == type);
return (getter != null)
? getter.Get(id, this.Context)
: (IEntity?)Context.Find(EntityOfTypeAttribute.Resolve(Entity), id);
} }
/// <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.Count > 0 && !types.Contains(reference.Type)) || !types.Contains(reference.Type)
) )
{ {
continue; continue;
@@ -36,16 +36,9 @@ 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>
@@ -93,7 +86,7 @@ internal abstract class AbstractEntityProcessor(
{ {
if (Globals.MergeSources.ContainsKey(Input.GetRequired<string>("id"))) if (Globals.MergeSources.ContainsKey(Input.GetRequired<string>("id")))
{ {
throw new SkipItemException(GetEntityName(), "помечено на слияние."); throw new SkipItemException(Input.GetRequired<string>("name"), "помечено на слияние.");
} }
} }
@@ -152,12 +145,6 @@ internal abstract class AbstractEntityProcessor(
#region "Генерация сущности" #region "Генерация сущности"
/// <summary>
/// Получает имя сущности из входных данных.
/// </summary>
/// <returns>Имя сущности.</returns>
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
/// <summary> /// <summary>
/// Генерация основных полей корневой сущности. /// Генерация основных полей корневой сущности.
/// </summary> /// </summary>
@@ -169,7 +156,7 @@ internal abstract class AbstractEntityProcessor(
} }
Entity.Type = Type; Entity.Type = Type;
Entity.Name[LocaleType.English] = GetEntityName(); Entity.Name[LocaleType.English] = Input.GetRequired<string>("name");
Entity.Img = ""; Entity.Img = "";
Entity.Description = GetDescription(); Entity.Description = GetDescription();
Entity.Rarity = Input.EnumOptional("rarity", EntityRarity.Common); Entity.Rarity = Input.EnumOptional("rarity", EntityRarity.Common);
@@ -0,0 +1,17 @@
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
/// <summary>
/// Тип документов компендиума.
/// </summary>
internal enum CompendiumDocumentType
{
Actor,
Adventure,
Cards,
Item,
JournalEntry,
Macro,
Playlist,
RollTable,
Scene,
}
@@ -0,0 +1,88 @@
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"}])";
}
}
@@ -0,0 +1,34 @@
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,12 +10,21 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium;
/// <summary> /// <summary>
/// Загрузчик данных компендиума. /// Загрузчик данных компендиума.
/// </summary> /// </summary>
/// <param name="repository"><inheritdoc cref="FoundryEnRepository"/></param> /// <param name="repository">Репозиторий данных.</param>
internal sealed class FoundryEnCompendium(FoundryEnRepository repository) : AbstractCompendium /// <param name="folders">[DI] Коллекция папок компендиумов.</param>
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>
@@ -30,38 +39,17 @@ internal sealed class FoundryEnCompendium(FoundryEnRepository repository) : Abst
params ICollection<string> types params ICollection<string> types
) )
{ {
IEnumerable<string> files = foreach (
types.Count == 0 FoundryEnCompendiumItem item in types.Count == 0
? Items.Select(item => item.File).Distinct() ? Items
: Items : Items.Where(i => types.Contains(i.Type))
.Where(item => types.Contains(item.Type))
.Select(item => item.File)
.Distinct();
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; using StreamReader fileReader = new(
} Path.Combine(Repository.RepositoryDirPath, item.File)
);
yield return new(reference, (JObject)item); yield return new(item, JObject.Parse(fileReader.ReadToEnd()));
}
} }
} }
} }
@@ -1,6 +1,5 @@
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;
@@ -33,8 +32,7 @@ internal class FoundryEnImporter : AbstractImporter
services.AddSingleton<FoundryEnRepository>(); services.AddSingleton<FoundryEnRepository>();
services.AddSingleton<FoundryEnCompendium>(); services.AddSingleton<FoundryEnCompendium>();
// Помощники services.AddSingleton<CompendiumFolderCollection>();
services.AddSingleton<FoundryEnGlobals>();
} }
#endregion #endregion
@@ -44,11 +42,7 @@ 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) : AbstractGitHubRepository(importer) internal class FoundryEnRepository(FoundryEnImporter importer) : GitRepository(importer, GitUrl)
{ {
/// <inheritdoc/> public const string GitUrl = "https://github.com/foundryvtt/pf2e.git";
public override string Repository => "foundryvtt/pf2e";
/// <inheritdoc/>
public override string AssetName => "json-assets.zip";
} }
@@ -1,20 +0,0 @@
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,7 +1,8 @@
using Pf2eDataScrapper.Helpers; using Newtonsoft.Json.Linq;
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers; using Pf2eDataScrapper.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;
@@ -15,24 +16,30 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
Group = ProcessorGroupEnum.FoundryEnEntities, Group = ProcessorGroupEnum.FoundryEnEntities,
Active = false Active = false
)] )]
[ProcessorDependencies(["foundry-en:compendium", "foundry-en:external"])] [ProcessorDependencies(["foundry-en:compendium"])]
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,6 +1,5 @@
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;
@@ -22,16 +21,17 @@ 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<Condition>(databaseHelper, context, enGlobals, input) ) : FoundryEnAbstractProcessor(databaseHelper, context, 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,6 +44,5 @@ 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,162 +1,184 @@
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;
/// <summary> internal abstract class FoundryEnAbstractProcessor(
/// Абстрактный класс-обработчик сущностей, полученных из молуля 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;
/// <inheritdoc cref="FoundryEnGlobals"/> public Entity Entity { get; set; } = new();
public FoundryEnGlobals EnGlobals { get; } = enGlobals;
/// <summary>
/// Тип сущности.
/// </summary>
public abstract EntityType Type { get; } public abstract EntityType Type { get; }
/// <summary> public abstract IEntity Object { get; }
/// Представление сущности, которое будет использоваться для обработки данных.
/// </summary>
public EntityView View { get; private set; } = null!;
/// <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()
{
string name = GetEntityName();
try
{
List<Entity> entities = Context
.Entities.AsNoTracking()
.Include(e => e.Traits)
.ThenInclude(t => t.Entity)
.Where(e => Pf2eDbContext.LocaleSearch(e.Name, name) && e.Type == Type)
.ToList();
switch (entities.Count)
{
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)
{
throw new SkipItemException(name, ex.Message);
}
throw new SkipItemException(
name,
$"Несколько сущностей \"{name}\" найдено, но ни одна не совпадает с входными данными по признакам."
);
}
/// <inheritdoc/>
public override void Process() public override void Process()
{ {
View = new(Context, Type, ResolveEntity()); Entity.Id = Helper.NextEntityId;
Entity.Type = Type;
AddExternal(); Entity.Name[LocaleType.English] = Input.GetRequired<string>("name");
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,
Alias = Entity.Group,
LegacyId = Entity.Id,
Entity = Entity
};
Context.EntityAliases.Add(alias);
*/
// Source
EntitySource source = new()
{
Entity = Entity,
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())))
{
Entity.Traits.Add(trait);
}
} }
/// <inheritdoc/>
public override void Save() public override void Save()
{ {
Context.SaveChanges(); Context.SaveChanges();
} }
/// <summary> protected Source GetSource(string name)
/// Получает имя сущности из входных данных. {
/// </summary> Source? source = Context.Sources.FirstOrDefault(s => s.Name == name);
/// <returns>Имя сущности.</returns>
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
/// <summary> if (source != null)
/// Генерация внешних ссылок сущности.
/// </summary>
protected virtual void AddExternal()
{ {
// External return source;
EntityExternal external = new() }
source = new() { Name = name };
Context.Sources.Add(source);
return source;
}
protected ExternalTarget GetTarget()
{ {
EntityId = Entity.Id, const string name = "pf2e - Foundry module";
TargetId = EnGlobals.FoundryTarget.Id,
ExternalId = Input.GetOptional<string>("_id"), ExternalTarget? target = Context.ExternalTargets.FirstOrDefault(s => s.Name == name);
Suffix = Input.GetRequired<string>("_id"),
Md5 = Input.Md5(), 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;
} }
} }
@@ -0,0 +1,125 @@
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() { }
}
@@ -0,0 +1,109 @@
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() { }
}
@@ -1,72 +0,0 @@
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() { }
}
@@ -1,40 +0,0 @@
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,17 +52,43 @@ internal class SchemaBuildProcessor(
/// </summary> /// </summary>
private readonly string[] _equipmentTypes = private readonly string[] _equipmentTypes =
[ [
"equipment", "Item.equipment",
"armor", "Item.armor",
"backpack", "Item.backpack",
"consumable", "Item.consumable",
"kit", "Item.kit",
"shield", "Item.shield",
"treasure", "Item.treasure",
"weapon", "Item.weapon",
]; ];
/// <inheritdoc/> /// <summary>
/// Выбор целевых элементом схемы данных для типа элемента.
/// </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];
@@ -70,7 +96,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 =
[ [
"character.items.[].system.items", "Actor.character.items.[].system.items",
"character.items.[].system.overlays", "Actor.character.items.[].system.overlays",
"ancestry.system.items", "Item.ancestry.system.items",
"ancestry.system.boosts", "Item.ancestry.system.boosts",
"background.system.boosts", "Item.background.system.boosts",
"background.system.items", "Item.background.system.items",
"class.system.items", "Item.class.system.items",
"consumable.system.spell.system.damage", "Item.consumable.system.spell.system.damage",
"consumable.system.spell.system.overlays", "Item.consumable.system.spell.system.overlays",
"deity.system.spells", "Item.deity.system.spells",
"feat.system.subfeatures.proficiencies", "Item.feat.system.subfeatures.proficiencies",
"kit.system.items", "Item.kit.system.items",
"kit.system.items.[value].items", "Item.kit.system.items.[value].items",
"spell.system.damage", "Item.spell.system.damage",
"spell.system.heightening.damage", "Item.spell.system.heightening.damage",
"spell.system.heightening.levels", "Item.spell.system.heightening.levels",
"spell.system.heightening.levels.[value].damage", "Item.spell.system.heightening.levels.[value].damage",
"spell.system.overlays", "Item.spell.system.overlays",
"spell.system.overlays.[value].system.damage", "Item.spell.system.overlays.[value].system.damage",
"spell.system.overlays.[value].system.heightening", "Item.spell.system.overlays.[value].system.heightening",
"spell.system.overlays.[value].system.heightening.[value]", "Item.spell.system.overlays.[value].system.heightening.[value]",
]; ];
/// <summary> /// <summary>
@@ -1,150 +0,0 @@
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;
}
}
+1 -2
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.1.0" PrivateAssets="all" /> <PackageReference Include="DefaultDocumentation" Version="1.0.2" 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,7 +27,6 @@
<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,6 +37,24 @@ 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
File diff suppressed because it is too large Load Diff
-549
View File
@@ -1,549 +0,0 @@
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
-921
View File
@@ -1,921 +0,0 @@
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)
+701
View File
@@ -0,0 +1,701 @@
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
@@ -0,0 +1,824 @@
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
+445
View File
@@ -0,0 +1,445 @@
name: Abomination Vaults
values: 7
schema:
'_id':
type: string
path: Abomination Vaults._id
is_null: false
values: 7
different_values: 7 (all different)
variants:
- "xvz5F7iYBWEIjz0r" (x1)
- "MiRWGXZnEdurMvVf" (x1)
- "3M2FRDlunjFshzbq" (x1)
- "n2JN5Kiu7tOCAHPr" (x1)
- "5qUQOpdlNsJjpFVX" (x1)
- "sR3S7Xn15drU6rOF" (x1)
- "BZhPPw9VD9U2ur6B" (x1)
'folder':
type: string
path: Abomination Vaults.folder
is_null: false
values: 7
different_values: 1 (all same)
variants: "adZ9Rij5DJPfLy4U" (x7)
'img':
type: string
path: Abomination Vaults.img
is_null: false
values: 7
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/background.svg" (x7)
'name':
type: string
path: Abomination Vaults.name
is_null: false
values: 7
different_values: 7 (all different)
variants:
- "Bibliophile" (x1)
- "Eldritch Anatomist" (x1)
- "Fogfen Tale-Teller" (x1)
- "Market Runner" (x1)
- "Ruin Delver" (x1)
- "Starwatcher" (x1)
- "Witchlight Follower" (x1)
'system':
type: object
path: Abomination Vaults.system
is_null: false
values: 7
schema:
'boosts':
type: object
path: Abomination Vaults.system.boosts
is_null: false
values: 7
schema:
'0':
type: object
path: Abomination Vaults.system.boosts.0
is_null: false
values: 7
schema:
'value':
type: array<string>
path: Abomination Vaults.system.boosts.0.value
is_null: false
values: 7
min_count: 2
max_count: 2
value_type:
type: string
path: Abomination Vaults.system.boosts.0.value.[]
is_null: false
values: 14
different_values: 6
variants:
- "int" (x4)
- "cha" (x3)
- "wis" (x2)
- "con" (x2)
- "dex" (x2)
- "str" (x1)
'1':
type: object
path: Abomination Vaults.system.boosts.1
is_null: false
values: 7
schema:
'value':
type: array<string>
path: Abomination Vaults.system.boosts.1.value
is_null: false
values: 7
min_count: 6
max_count: 6
value_type:
type: string
path: Abomination Vaults.system.boosts.1.value.[]
is_null: false
values: 42
different_values: 6
variants:
- "cha" (x7)
- "con" (x7)
- "dex" (x7)
- "int" (x7)
- "str" (x7)
- "wis" (x7)
'description':
type: object
path: Abomination Vaults.system.description
is_null: false
values: 7
schema:
'value':
type: string
path: Abomination Vaults.system.description.value
is_null: false
values: 7
different_values: 7 (all different)
variants: [omitted]
'items':
type: object
path: Abomination Vaults.system.items
is_null: false
values: 7
schema:
[1jgzx]:
type: object
path: Abomination Vaults.system.items.1jgzx
is_null: true
values: 1
schema:
'img':
type: string
path: Abomination Vaults.system.items.1jgzx.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Abomination Vaults.system.items.1jgzx.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Abomination Vaults.system.items.1jgzx.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Cat Fall" (x1)
'uuid':
type: string
path: Abomination Vaults.system.items.1jgzx.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Cat Fall" (x1)
[az6xy]:
type: object
path: Abomination Vaults.system.items.az6xy
is_null: true
values: 1
schema:
'img':
type: string
path: Abomination Vaults.system.items.az6xy.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Abomination Vaults.system.items.az6xy.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Abomination Vaults.system.items.az6xy.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Dubious Knowledge" (x1)
'uuid':
type: string
path: Abomination Vaults.system.items.az6xy.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Dubious Knowledge" (x1)
[by6ry]:
type: object
path: Abomination Vaults.system.items.by6ry
is_null: true
values: 1
schema:
'img':
type: string
path: Abomination Vaults.system.items.by6ry.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Abomination Vaults.system.items.by6ry.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Abomination Vaults.system.items.by6ry.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Titan Wrestler" (x1)
'uuid':
type: string
path: Abomination Vaults.system.items.by6ry.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Titan Wrestler" (x1)
'pz84g':
type: object
path: Abomination Vaults.system.items.pz84g
is_null: false
values: 1
schema:
'img':
type: string
path: Abomination Vaults.system.items.pz84g.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Abomination Vaults.system.items.pz84g.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Abomination Vaults.system.items.pz84g.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Terrain Expertise" (x1)
'uuid':
type: string
path: Abomination Vaults.system.items.pz84g.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Terrain Expertise" (x1)
[wsxkp]:
type: object
path: Abomination Vaults.system.items.wsxkp
is_null: true
values: 1
schema:
'img':
type: string
path: Abomination Vaults.system.items.wsxkp.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Abomination Vaults.system.items.wsxkp.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Abomination Vaults.system.items.wsxkp.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Arcane Sense" (x1)
'uuid':
type: string
path: Abomination Vaults.system.items.wsxkp.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Arcane Sense" (x1)
[xtumr]:
type: object
path: Abomination Vaults.system.items.xtumr
is_null: true
values: 1
schema:
'img':
type: string
path: Abomination Vaults.system.items.xtumr.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Abomination Vaults.system.items.xtumr.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Abomination Vaults.system.items.xtumr.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Hobnobber" (x1)
'uuid':
type: string
path: Abomination Vaults.system.items.xtumr.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Hobnobber" (x1)
'publication':
type: object
path: Abomination Vaults.system.publication
is_null: false
values: 7
schema:
'license':
type: string
path: Abomination Vaults.system.publication.license
is_null: false
values: 7
different_values: 1 (all same)
variants: "OGL" (x7)
'remaster':
type: boolean
path: Abomination Vaults.system.publication.remaster
is_null: false
values: 7
different_values: 1 (all same)
variants: False (x7)
'title':
type: string
path: Abomination Vaults.system.publication.title
is_null: false
values: 7
different_values: 1 (all same)
variants: "Pathfinder Abomination Vaults Player's Guide" (x7)
'rules':
type: ignored (Foundry rules object)
path: Abomination Vaults.system.rules
is_null: false
values: 7
'trainedSkills':
type: object
path: Abomination Vaults.system.trainedSkills
is_null: false
values: 7
schema:
'lore':
type: array<string>
path: Abomination Vaults.system.trainedSkills.lore
is_null: false
values: 7
min_count: 1
max_count: 1
value_type:
type: string
path: Abomination Vaults.system.trainedSkills.lore.[]
is_null: false
values: 7
different_values: 7 (all different)
variants:
- "Library Lore" (x1)
- "Fleshwarp Lore" (x1)
- "Swamp Lore" (x1)
- "Otari Lore" (x1)
- "Roseguard Lore" (x1)
- "Astrology Lore" (x1)
- "Wisp Lore" (x1)
'value':
type: array<string>
path: Abomination Vaults.system.trainedSkills.value
is_null: false
values: 7
min_count: 1
max_count: 1
value_type:
type: string
path: Abomination Vaults.system.trainedSkills.value.[]
is_null: false
values: 7
different_values: 7 (all different)
variants:
- "arcana" (x1)
- "medicine" (x1)
- "athletics" (x1)
- "diplomacy" (x1)
- "acrobatics" (x1)
- "occultism" (x1)
- "survival" (x1)
'traits':
type: object
path: Abomination Vaults.system.traits
is_null: false
values: 7
schema:
'rarity':
type: string
path: Abomination Vaults.system.traits.rarity
is_null: false
values: 7
different_values: 1 (all same)
variants: "common" (x7)
'value':
type: array<>
path: Abomination Vaults.system.traits.value
is_null: false
values: 7
min_count: 0
max_count: 0
value_type:
type:
path: Abomination Vaults.system.traits.value.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: Abomination Vaults.type
is_null: false
values: 7
different_values: 1 (all same)
variants: "background" (x7)
+261
View File
@@ -0,0 +1,261 @@
name: Acrobat
values: 10
schema:
'_id':
type: string
path: Acrobat._id
is_null: false
values: 10
different_values: 10 (all different)
variants:
- "aFygWxgSv82WyCsl" (x1)
- "JO3mcFvxjRp1V8XK" (x1)
- "0qGLCpggCcOVkbtT" (x1)
- "63sSYk5yqiAyZGb9" (x1)
- "WlgaSpTSGQQrHKlx" (x1)
- "g0fyway0FkdSo7ZE" (x1)
- "DMjfZvWD20SGuIO4" (x1)
- "Yazy4gex46FLwsph" (x1)
- "jfsmtOx4QgXB19BL" (x1)
- "W9Eizd4k0UKO2nT0" (x1)
'folder':
type: string
path: Acrobat.folder
is_null: false
values: 10
different_values: 1 (all same)
variants: "kcxudzittAmxnR9F" (x10)
'img':
type: string
path: Acrobat.img
is_null: false
values: 10
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x10)
'name':
type: string
path: Acrobat.name
is_null: false
values: 10
different_values: 10 (all different)
variants:
- "Acrobat Dedication" (x1)
- "Contortionist" (x1)
- "Dodge Away" (x1)
- "Graceful Leaper" (x1)
- "Mockingbird's Disarm" (x1)
- "Quick Spring" (x1)
- "Show-Off" (x1)
- "Tumbling Opportunist" (x1)
- "Tumbling Strike" (x1)
- "Virtuosic Dancer" (x1)
'system':
type: object
path: Acrobat.system
is_null: false
values: 10
schema:
'actionType':
type: object
path: Acrobat.system.actionType
is_null: false
values: 10
schema:
'value':
type: string
path: Acrobat.system.actionType.value
is_null: false
values: 10
different_values: 4
variants:
- "passive" (x5)
- "reaction" (x2)
- "free" (x2)
- "action" (x1)
'actions':
type: object
path: Acrobat.system.actions
is_null: false
values: 10
schema:
[value]:
type: integer
path: Acrobat.system.actions.value
is_null: true
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'category':
type: string
path: Acrobat.system.category
is_null: false
values: 10
different_values: 2
variants:
- "class" (x8)
- "skill" (x2)
'description':
type: object
path: Acrobat.system.description
is_null: false
values: 10
schema:
'value':
type: string
path: Acrobat.system.description.value
is_null: false
values: 10
different_values: 10 (all different)
variants: [omitted]
'level':
type: object
path: Acrobat.system.level
is_null: false
values: 10
schema:
'value':
type: integer
path: Acrobat.system.level.value
is_null: false
values: 10
different_values: 8
variants:
- 10 (x2)
- 8 (x2)
- 2 (x1)
- 4 (x1)
- 6 (x1)
- 7 (x1)
- 13 (x1)
- 12 (x1)
'prerequisites':
type: object
path: Acrobat.system.prerequisites
is_null: false
values: 10
schema:
'value':
type: array<object>
path: Acrobat.system.prerequisites.value
is_null: false
values: 10
min_count: 1
max_count: 2
value_type:
type: object
path: Acrobat.system.prerequisites.value.[]
is_null: false
values: 12
schema:
'value':
type: string
path: Acrobat.system.prerequisites.value.[].value
is_null: false
values: 12
different_values: 4
variants:
- "Acrobat Dedication" (x9)
- "trained in Acrobatics" (x1)
- "Master in Acrobatics" (x1)
- "master in Acrobatics" (x1)
'publication':
type: object
path: Acrobat.system.publication
is_null: false
values: 10
schema:
'license':
type: string
path: Acrobat.system.publication.license
is_null: false
values: 10
different_values: 2
variants:
- "ORC" (x7)
- "OGL" (x3)
'remaster':
type: boolean
path: Acrobat.system.publication.remaster
is_null: false
values: 10
different_values: 2
variants:
- True (x7)
- False (x3)
'title':
type: string
path: Acrobat.system.publication.title
is_null: false
values: 10
different_values: 3
variants:
- "Pathfinder Player Core 2" (x6)
- "Pathfinder Lost Omens Firebrands" (x3)
- "Pathfinder #204: Stage Fright" (x1)
'rules':
type: ignored (Foundry rules object)
path: Acrobat.system.rules
is_null: false
values: 10
'traits':
type: object
path: Acrobat.system.traits
is_null: false
values: 10
schema:
'rarity':
type: string
path: Acrobat.system.traits.rarity
is_null: false
values: 10
different_values: 2
variants:
- "common" (x6)
- "uncommon" (x4)
'value':
type: array<string>
path: Acrobat.system.traits.value
is_null: false
values: 10
min_count: 1
max_count: 3
value_type:
type: string
path: Acrobat.system.traits.value.[]
is_null: false
values: 17
different_values: 6
variants:
- "archetype" (x10)
- "skill" (x2)
- "flourish" (x2)
- "dedication" (x1)
- "attack" (x1)
- "move" (x1)
[frequency]:
type: object
path: Acrobat.system.frequency
is_null: true
values: 3
schema:
'max':
type: integer
path: Acrobat.system.frequency.max
is_null: false
values: 3
different_values: 1 (all same)
variants: 1 (x3)
'per':
type: string
path: Acrobat.system.frequency.per
is_null: false
values: 3
different_values: 1 (all same)
variants: "PT1M" (x3)
'type':
type: string
path: Acrobat.type
is_null: false
values: 10
different_values: 1 (all same)
variants: "feat" (x10)
+71
View File
@@ -0,0 +1,71 @@
name: Action Macros
values: 71
schema:
'_id':
type: string
path: Action Macros._id
is_null: false
values: 71
different_values: 71 (all different)
variants: [omitted]
'author':
type: string
path: Action Macros.author
is_null: false
values: 71
different_values: 6
variants:
- "j8qxwRz5RJ4kkzp9" (x62)
- "qZdAigNsA8Xx4gAx" (x4)
- "7rBRoXLPb5I767rN" (x2)
- "jrcW3hyxC9Zvmq50" (x1)
- "uAvrJeywnWLwQIhl" (x1)
- "NhGg2K0c82rUuECi" (x1)
'command':
type: string
path: Action Macros.command
is_null: false
values: 71
different_values: 71 (all different)
variants: [omitted]
'img':
type: string
path: Action Macros.img
is_null: false
values: 71
different_values: 27
variants: [omitted]
'name':
type: string
path: Action Macros.name
is_null: false
values: 71
different_values: 71 (all different)
variants: [omitted]
'ownership':
type: object
path: Action Macros.ownership
is_null: false
values: 71
schema:
'default':
type: integer
path: Action Macros.ownership.default
is_null: false
values: 71
different_values: 1 (all same)
variants: 1 (x71)
'scope':
type: string
path: Action Macros.scope
is_null: false
values: 71
different_values: 1 (all same)
variants: "global" (x71)
'type':
type: string
path: Action Macros.type
is_null: false
values: 71
different_values: 1 (all same)
variants: "script" (x71)
+308
View File
@@ -0,0 +1,308 @@
name: Actions
values: 395
schema:
'_id':
type: string
path: Actions._id
is_null: false
values: 395
different_values: 395 (all different)
variants: [omitted]
'img':
type: string
path: Actions.img
is_null: false
values: 395
different_values: 7
variants:
- "systems/pf2e/icons/actions/OneAction.webp" (x129)
- "systems/pf2e/icons/actions/Reaction.webp" (x90)
- "systems/pf2e/icons/actions/TwoActions.webp" (x71)
- "systems/pf2e/icons/actions/Passive.webp" (x51)
- "systems/pf2e/icons/actions/FreeAction.webp" (x39)
- "systems/pf2e/icons/actions/ThreeActions.webp" (x14)
- "systems/pf2e/icons/actions/LongerAction.webp" (x1)
'name':
type: string
path: Actions.name
is_null: false
values: 395
different_values: 395 (all different)
variants: [omitted]
'system':
type: object
path: Actions.system
is_null: false
values: 395
schema:
'actionType':
type: object
path: Actions.system.actionType
is_null: false
values: 395
schema:
'value':
type: string
path: Actions.system.actionType.value
is_null: false
values: 395
different_values: 4
variants:
- "action" (x213)
- "reaction" (x90)
- "passive" (x53)
- "free" (x39)
'actions':
type: object
path: Actions.system.actions
is_null: false
values: 395
schema:
[value]:
type: integer
path: Actions.system.actions.value
is_null: true
values: 213
different_values: 3
variants:
- 1 (x129)
- 2 (x70)
- 3 (x14)
[category]:
type: string
path: Actions.system.category
is_null: true
values: 336
different_values: 3
variants:
- "offensive" (x160)
- "interaction" (x118)
- "defensive" (x58)
'description':
type: object
path: Actions.system.description
is_null: false
values: 395
schema:
'value':
type: string
path: Actions.system.description.value
is_null: false
values: 395
different_values: 395 (all different)
variants: [omitted]
'publication':
type: object
path: Actions.system.publication
is_null: false
values: 395
schema:
'license':
type: string
path: Actions.system.publication.license
is_null: false
values: 395
different_values: 2
variants:
- "ORC" (x223)
- "OGL" (x172)
'remaster':
type: boolean
path: Actions.system.publication.remaster
is_null: false
values: 395
different_values: 2
variants:
- True (x230)
- False (x165)
'title':
type: string
path: Actions.system.publication.title
is_null: false
values: 395
different_values: 42
variants: [omitted]
'rules':
type: ignored (Foundry rules object)
path: Actions.system.rules
is_null: false
values: 395
'traits':
type: object
path: Actions.system.traits
is_null: false
values: 395
schema:
[rarity]:
type: string
path: Actions.system.traits.rarity
is_null: true
values: 239
different_values: 2
variants:
- "common" (x238)
- "rare" (x1)
[selected]:
type: object
path: Actions.system.traits.selected
is_null: true
values: 9
schema:
[auditory]:
type: string
path: Actions.system.traits.selected.auditory
is_null: true
values: 2
different_values: 1 (all same)
variants: "Auditory" (x2)
[concentrate]:
type: string
path: Actions.system.traits.selected.concentrate
is_null: true
values: 2
different_values: 1 (all same)
variants: "Concentrate" (x2)
[emotion]:
type: string
path: Actions.system.traits.selected.emotion
is_null: true
values: 1
different_values: 1 (all same)
variants: "Emotion" (x1)
[exploration]:
type: string
path: Actions.system.traits.selected.exploration
is_null: true
values: 2
different_values: 1 (all same)
variants: "Exploration" (x2)
[general]:
type: string
path: Actions.system.traits.selected.general
is_null: true
values: 2
different_values: 1 (all same)
variants: "General" (x2)
[linguistic]:
type: string
path: Actions.system.traits.selected.linguistic
is_null: true
values: 2
different_values: 1 (all same)
variants: "Linguistic" (x2)
[mental]:
type: string
path: Actions.system.traits.selected.mental
is_null: true
values: 2
different_values: 1 (all same)
variants: "Mental" (x2)
[morph]:
type: string
path: Actions.system.traits.selected.morph
is_null: true
values: 1
different_values: 1 (all same)
variants: "Morph" (x1)
[primal]:
type: string
path: Actions.system.traits.selected.primal
is_null: true
values: 1
different_values: 1 (all same)
variants: "Primal" (x1)
[skill]:
type: string
path: Actions.system.traits.selected.skill
is_null: true
values: 1
different_values: 1 (all same)
variants: "Skill" (x1)
[tengu]:
type: string
path: Actions.system.traits.selected.tengu
is_null: true
values: 1
different_values: 1 (all same)
variants: "tengu" (x1)
[transmutation]:
type: string
path: Actions.system.traits.selected.transmutation
is_null: true
values: 1
different_values: 1 (all same)
variants: "Transmutation" (x1)
'value':
type: array<string>
path: Actions.system.traits.value
is_null: false
values: 395
min_count: 0
max_count: 7
value_type:
type: string
path: Actions.system.traits.value.[]
is_null: false
values: 624
different_values: 89
variants: [omitted]
[frequency]:
type: object
path: Actions.system.frequency
is_null: true
values: 95
schema:
'max':
type: integer
path: Actions.system.frequency.max
is_null: false
values: 95
different_values: 1 (all same)
variants: 1 (x95)
'per':
type: string
path: Actions.system.frequency.per
is_null: false
values: 95
different_values: 6
variants:
- "day" (x48)
- "PT1H" (x22)
- "round" (x9)
- "PT10M" (x9)
- "PT1M" (x6)
- "turn" (x1)
[value]:
type: integer
path: Actions.system.frequency.value
is_null: true
values: 5
different_values: 1 (all same)
variants: 1 (x5)
[selfEffect]:
type: object
path: Actions.system.selfEffect
is_null: true
values: 35
schema:
'name':
type: string
path: Actions.system.selfEffect.name
is_null: false
values: 35
different_values: 34
variants: [omitted]
'uuid':
type: string
path: Actions.system.selfEffect.uuid
is_null: false
values: 35
different_values: 34
variants: [omitted]
'type':
type: string
path: Actions.type
is_null: false
values: 395
different_values: 1 (all same)
variants: "action" (x395)
@@ -0,0 +1,285 @@
name: Adventure-Specific Actions
values: 158
schema:
'_id':
type: string
path: Adventure-Specific Actions._id
is_null: false
values: 158
different_values: 158 (all different)
variants: [omitted]
'img':
type: string
path: Adventure-Specific Actions.img
is_null: false
values: 158
different_values: 8
variants:
- "systems/pf2e/icons/actions/Passive.webp" (x78)
- "systems/pf2e/icons/actions/TwoActions.webp" (x34)
- "systems/pf2e/icons/actions/OneAction.webp" (x24)
- "systems/pf2e/icons/actions/Reaction.webp" (x9)
- "systems/pf2e/icons/actions/FreeAction.webp" (x7)
- "systems/pf2e/icons/actions/ThreeActions.webp" (x4)
- "icons/magic/symbols/elements-air-earth-fire-water.webp" (x1)
- "systems/pf2e/icons/actions/LongerAction.webp" (x1)
'name':
type: string
path: Adventure-Specific Actions.name
is_null: false
values: 158
different_values: 158 (all different)
variants: [omitted]
'system':
type: object
path: Adventure-Specific Actions.system
is_null: false
values: 158
schema:
'actionType':
type: object
path: Adventure-Specific Actions.system.actionType
is_null: false
values: 158
schema:
'value':
type: string
path: Adventure-Specific Actions.system.actionType.value
is_null: false
values: 158
different_values: 4
variants:
- "passive" (x79)
- "action" (x62)
- "reaction" (x9)
- "free" (x8)
'actions':
type: object
path: Adventure-Specific Actions.system.actions
is_null: false
values: 158
schema:
[value]:
type: integer
path: Adventure-Specific Actions.system.actions.value
is_null: true
values: 62
different_values: 3
variants:
- 2 (x32)
- 1 (x26)
- 3 (x4)
[category]:
type: string
path: Adventure-Specific Actions.system.category
is_null: true
values: 151
different_values: 4
variants:
- "interaction" (x77)
- "offensive" (x50)
- "deityboon" (x16)
- "defensive" (x8)
'description':
type: object
path: Adventure-Specific Actions.system.description
is_null: false
values: 158
schema:
[gm]:
type: string
path: Adventure-Specific Actions.system.description.gm
is_null: true
values: 1
different_values: 1 (all same)
variants: [omitted]
'value':
type: string
path: Adventure-Specific Actions.system.description.value
is_null: false
values: 158
different_values: 158 (all different)
variants: [omitted]
'publication':
type: object
path: Adventure-Specific Actions.system.publication
is_null: false
values: 158
schema:
'license':
type: string
path: Adventure-Specific Actions.system.publication.license
is_null: false
values: 158
different_values: 2
variants:
- "OGL" (x156)
- "ORC" (x2)
'remaster':
type: boolean
path: Adventure-Specific Actions.system.publication.remaster
is_null: false
values: 158
different_values: 2
variants:
- False (x156)
- True (x2)
'title':
type: string
path: Adventure-Specific Actions.system.publication.title
is_null: false
values: 158
different_values: 37
variants: [omitted]
'rules':
type: ignored (Foundry rules object)
path: Adventure-Specific Actions.system.rules
is_null: false
values: 158
'traits':
type: object
path: Adventure-Specific Actions.system.traits
is_null: false
values: 158
schema:
[otherTags]:
type: array<string>
path: Adventure-Specific Actions.system.traits.otherTags
is_null: true
values: 16
min_count: 1
max_count: 1
value_type:
type: string
path: Adventure-Specific Actions.system.traits.otherTags.[]
is_null: false
values: 16
different_values: 2
variants:
- "major-spirit-power" (x9)
- "minor-spirit-power" (x7)
[rarity]:
type: string
path: Adventure-Specific Actions.system.traits.rarity
is_null: true
values: 107
different_values: 3
variants:
- "common" (x90)
- "rare" (x16)
- "uncommon" (x1)
'value':
type: array<string>
path: Adventure-Specific Actions.system.traits.value
is_null: false
values: 158
min_count: 0
max_count: 5
value_type:
type: string
path: Adventure-Specific Actions.system.traits.value.[]
is_null: false
values: 265
different_values: 39
variants: [omitted]
[frequency]:
type: object
path: Adventure-Specific Actions.system.frequency
is_null: true
values: 23
schema:
'max':
type: integer
path: Adventure-Specific Actions.system.frequency.max
is_null: false
values: 23
different_values: 2
variants:
- 1 (x22)
- 2 (x1)
'per':
type: string
path: Adventure-Specific Actions.system.frequency.per
is_null: false
values: 23
different_values: 2
variants:
- "day" (x17)
- "PT1H" (x6)
[level]:
type: object
path: Adventure-Specific Actions.system.level
is_null: true
values: 16
schema:
'value':
type: integer
path: Adventure-Specific Actions.system.level.value
is_null: false
values: 16
different_values: 1 (all same)
variants: 0 (x16)
[prerequisites]:
type: object
path: Adventure-Specific Actions.system.prerequisites
is_null: true
values: 16
schema:
'value':
type: array<>
path: Adventure-Specific Actions.system.prerequisites.value
is_null: false
values: 16
min_count: 0
max_count: 0
value_type:
type:
path: Adventure-Specific Actions.system.prerequisites.value.[]
is_null: false
values: 0
is_empty: true
[selfEffect]:
type: object
path: Adventure-Specific Actions.system.selfEffect
is_null: true
values: 8
schema:
'name':
type: string
path: Adventure-Specific Actions.system.selfEffect.name
is_null: false
values: 8
different_values: 8
variants:
- "Effect: Walking the Cardinal Paths" (x1)
- "Effect: Glimpses to Beyond" (x1)
- "Effect: Azata's Grace" (x1)
- "Effect: Spirit Power (Flight)" (x1)
- "Effect: Spirit Power (Passion)" (x1)
- "Aura: Righteous Call" (x1)
- "Effect: Seasonal Boon (Outskirt Dweller)" (x1)
- "Effect: Wind Barrier" (x1)
'uuid':
type: string
path: Adventure-Specific Actions.system.selfEffect.uuid
is_null: false
values: 8
different_values: 8
variants:
- "Compendium.pf2e.feat-effects.Item.Effect: Walking the Cardinal Paths" (x1)
- "Compendium.pf2e.feat-effects.Item.Effect: Glimpses to Beyond" (x1)
- "Compendium.pf2e.campaign-effects.Item.Effect: Azata's Grace" (x1)
- "Compendium.pf2e.campaign-effects.Item.Effect: Spirit Power (Flight)" (x1)
- "Compendium.pf2e.campaign-effects.Item.Effect: Spirit Power (Passion)" (x1)
- "Compendium.pf2e.campaign-effects.Item.Aura: Righteous Call" (x1)
- "Compendium.pf2e.campaign-effects.Item.Effect: Seasonal Boon (Outskirt Dweller)" (x1)
- "Compendium.pf2e.campaign-effects.Item.Effect: Wind Barrier" (x1)
'type':
type: string
path: Adventure-Specific Actions.type
is_null: false
values: 158
different_values: 2
variants:
- "action" (x142)
- "feat" (x16)
+248
View File
@@ -0,0 +1,248 @@
name: Aftermath
values: 13
schema:
'_id':
type: string
path: Aftermath._id
is_null: false
values: 13
different_values: 13 (all different)
variants:
- "ncXK0Cc8dZ9TilSC" (x1)
- "eUv2L0CLidxtA3sh" (x1)
- "pvFRMbIazwAO0fjH" (x1)
- "TfDvkTNaC1DmsB2C" (x1)
- "jSu9h6UvZtUJ7InD" (x1)
- "dzeiVab4Cogzl5XS" (x1)
- "VF5XFpzBlqUFd8Mw" (x1)
- "MROG87PQmuBTdCaB" (x1)
- "douVMHDuQQv8U8aq" (x1)
- "JddrdXv4pfdePsGK" (x1)
- "I1xq9TDYRHNtqzGz" (x1)
- "RfOnsZrmT6z2ajBN" (x1)
- "MUwIeDV0pBtqeU3p" (x1)
'folder':
type: string
path: Aftermath.folder
is_null: false
values: 13
different_values: 1 (all same)
variants: "E9ObyMxDmNTulE5a" (x13)
'img':
type: string
path: Aftermath.img
is_null: false
values: 13
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x13)
'name':
type: string
path: Aftermath.name
is_null: false
values: 13
different_values: 13 (all different)
variants:
- "Devil's Eye" (x1)
- "Dormant Eruption" (x1)
- "Echo of the Fallen" (x1)
- "Elysium's Cadence" (x1)
- "Fey Life" (x1)
- "Gift of the Hoard" (x1)
- "Glass Skin" (x1)
- "Jelly Body" (x1)
- "Lingering Chill" (x1)
- "Petrified Skin" (x1)
- "Sink and Swim" (x1)
- "Siphon Life" (x1)
- "Walk on the Wind" (x1)
'system':
type: object
path: Aftermath.system
is_null: false
values: 13
schema:
'actionType':
type: object
path: Aftermath.system.actionType
is_null: false
values: 13
schema:
'value':
type: string
path: Aftermath.system.actionType.value
is_null: false
values: 13
different_values: 3
variants:
- "passive" (x11)
- "reaction" (x1)
- "action" (x1)
'actions':
type: object
path: Aftermath.system.actions
is_null: false
values: 13
schema:
[value]:
type: integer
path: Aftermath.system.actions.value
is_null: true
values: 1
different_values: 1 (all same)
variants: 2 (x1)
'category':
type: string
path: Aftermath.system.category
is_null: false
values: 13
different_values: 1 (all same)
variants: "class" (x13)
'description':
type: object
path: Aftermath.system.description
is_null: false
values: 13
schema:
'value':
type: string
path: Aftermath.system.description.value
is_null: false
values: 13
different_values: 13 (all different)
variants: [omitted]
'level':
type: object
path: Aftermath.system.level
is_null: false
values: 13
schema:
'value':
type: integer
path: Aftermath.system.level.value
is_null: false
values: 13
different_values: 6
variants:
- 4 (x3)
- 10 (x3)
- 14 (x2)
- 6 (x2)
- 16 (x2)
- 12 (x1)
'prerequisites':
type: object
path: Aftermath.system.prerequisites
is_null: false
values: 13
schema:
'value':
type: array<object>
path: Aftermath.system.prerequisites.value
is_null: false
values: 13
min_count: 0
max_count: 2
value_type:
type: object
path: Aftermath.system.prerequisites.value.[]
is_null: false
values: 13
schema:
'value':
type: string
path: Aftermath.system.prerequisites.value.[].value
is_null: false
values: 13
different_values: 13 (all different)
variants:
- "You made a bargain with a devil or won a legal case or other similar duel of wits against a devil." (x1)
- "You've been brought to 0 Hit Points by an enemy that has the fire trait or an enemy's ability that has the fire trait" (x1)
- "You helped to lay a haunt, ghost, or spirit to rest" (x1)
- "You've partied extensively with an azata or entered a romantic relationship with an azata" (x1)
- "You helped to save a fey from a terrible fate" (x1)
- "You're not a fey." (x1)
- "You have succeeded at an important task given by a dragon such as procuring a special treasure for their hoard" (x1)
- "You've been reduced to 0 Hit Points while engulfed by an ooze." (x1)
- "You've been brought to 0 Hit Points by an enemy that has the cold trait or an enemy's ability that has the cold trait." (x1)
- "You have been petrified by an enemy" (x1)
- "You've been brought to 0 Hit Points by an enemy that has the water trait or an enemy's ability that has the water trait" (x1)
- "You've been reduced to 0 Hit Points by an enemy with the void trait" (x1)
- "You've been brought to 0 Hit Points by an enemy that has the air trait or an enemy's ability that has the air trait" (x1)
'publication':
type: object
path: Aftermath.system.publication
is_null: false
values: 13
schema:
'license':
type: string
path: Aftermath.system.publication.license
is_null: false
values: 13
different_values: 1 (all same)
variants: "OGL" (x13)
'remaster':
type: boolean
path: Aftermath.system.publication.remaster
is_null: false
values: 13
different_values: 1 (all same)
variants: False (x13)
'title':
type: string
path: Aftermath.system.publication.title
is_null: false
values: 13
different_values: 2
variants:
- "Pathfinder Dark Archive" (x12)
- "Pathfinder #180: The Smoking Gun" (x1)
'rules':
type: ignored (Foundry rules object)
path: Aftermath.system.rules
is_null: false
values: 13
'traits':
type: object
path: Aftermath.system.traits
is_null: false
values: 13
schema:
'rarity':
type: string
path: Aftermath.system.traits.rarity
is_null: false
values: 13
different_values: 1 (all same)
variants: "rare" (x13)
'value':
type: array<string>
path: Aftermath.system.traits.value
is_null: false
values: 13
min_count: 1
max_count: 4
value_type:
type: string
path: Aftermath.system.traits.value.[]
is_null: false
values: 25
different_values: 10
variants:
- "aftermath" (x13)
- "magical" (x4)
- "fire" (x1)
- "healing" (x1)
- "primal" (x1)
- "cold" (x1)
- "water" (x1)
- "flourish" (x1)
- "void" (x1)
- "air" (x1)
'type':
type: string
path: Aftermath.type
is_null: false
values: 13
different_values: 1 (all same)
variants: "feat" (x13)
+555
View File
@@ -0,0 +1,555 @@
name: Age of Ashes
values: 9
schema:
'_id':
type: string
path: Age of Ashes._id
is_null: false
values: 9
different_values: 9 (all different)
variants:
- "GPI5kNu0xfom9kKa" (x1)
- "oEm937kNrP5sXxFD" (x1)
- "0z0PSizHviOehdJF" (x1)
- "vNWSzv36L1GBPPoc" (x1)
- "4a2sVO0o2mMTydN8" (x1)
- "UgityMZaujmYUpil" (x1)
- "TPoP1mKpqUOpRQ5Y" (x1)
- "iaM6TjvijLCgiHeD" (x1)
- "TC7jpN5EA4UBIYep" (x1)
'folder':
type: string
path: Age of Ashes.folder
is_null: false
values: 9
different_values: 1 (all same)
variants: "2IuGrk3NUEh9X4t8" (x9)
'img':
type: string
path: Age of Ashes.img
is_null: false
values: 9
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/background.svg" (x9)
'name':
type: string
path: Age of Ashes.name
is_null: false
values: 9
different_values: 9 (all different)
variants:
- "Dragon Scholar" (x1)
- "Emancipated" (x1)
- "Haunting Vision" (x1)
- "Hellknight Historian" (x1)
- "Local Scion" (x1)
- "Out-Of-Towner" (x1)
- "Reputation Seeker" (x1)
- "Returning Descendant" (x1)
- "Truth Seeker" (x1)
'system':
type: object
path: Age of Ashes.system
is_null: false
values: 9
schema:
'boosts':
type: object
path: Age of Ashes.system.boosts
is_null: false
values: 9
schema:
'0':
type: object
path: Age of Ashes.system.boosts.0
is_null: false
values: 9
schema:
'value':
type: array<string>
path: Age of Ashes.system.boosts.0.value
is_null: false
values: 9
min_count: 2
max_count: 2
value_type:
type: string
path: Age of Ashes.system.boosts.0.value.[]
is_null: false
values: 18
different_values: 6
variants:
- "cha" (x3)
- "str" (x3)
- "dex" (x3)
- "con" (x3)
- "wis" (x3)
- "int" (x3)
'1':
type: object
path: Age of Ashes.system.boosts.1
is_null: false
values: 9
schema:
'value':
type: array<string>
path: Age of Ashes.system.boosts.1.value
is_null: false
values: 9
min_count: 6
max_count: 6
value_type:
type: string
path: Age of Ashes.system.boosts.1.value.[]
is_null: false
values: 54
different_values: 6
variants:
- "cha" (x9)
- "con" (x9)
- "dex" (x9)
- "int" (x9)
- "str" (x9)
- "wis" (x9)
'description':
type: object
path: Age of Ashes.system.description
is_null: false
values: 9
schema:
'value':
type: string
path: Age of Ashes.system.description.value
is_null: false
values: 9
different_values: 9 (all different)
variants: [omitted]
'items':
type: object
path: Age of Ashes.system.items
is_null: false
values: 9
schema:
[29e0x]:
type: object
path: Age of Ashes.system.items.29e0x
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.29e0x.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.29e0x.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.29e0x.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Intimidating Glare" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.29e0x.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Intimidating Glare" (x1)
[6ja48]:
type: object
path: Age of Ashes.system.items.6ja48
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.6ja48.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.6ja48.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.6ja48.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Hobnobber" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.6ja48.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Hobnobber" (x1)
[e8pnw]:
type: object
path: Age of Ashes.system.items.e8pnw
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.e8pnw.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.e8pnw.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.e8pnw.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Specialty Crafting" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.e8pnw.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Specialty Crafting" (x1)
[fzch2]:
type: object
path: Age of Ashes.system.items.fzch2
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.fzch2.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.fzch2.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.fzch2.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Courtly Graces" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.fzch2.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Courtly Graces" (x1)
[g5mpz]:
type: object
path: Age of Ashes.system.items.g5mpz
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.g5mpz.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.g5mpz.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.g5mpz.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Pickpocket" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.g5mpz.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Pickpocket" (x1)
'llxv2':
type: object
path: Age of Ashes.system.items.llxv2
is_null: false
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.llxv2.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.llxv2.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.llxv2.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Lie To Me" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.llxv2.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Lie to Me" (x1)
[qbuex]:
type: object
path: Age of Ashes.system.items.qbuex
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.qbuex.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.qbuex.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.qbuex.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Terrain Stalker" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.qbuex.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Terrain Stalker" (x1)
[u6r5t]:
type: object
path: Age of Ashes.system.items.u6r5t
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.u6r5t.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.u6r5t.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.u6r5t.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Terrain Expertise" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.u6r5t.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Terrain Expertise" (x1)
[vaywv]:
type: object
path: Age of Ashes.system.items.vaywv
is_null: true
values: 1
schema:
'img':
type: string
path: Age of Ashes.system.items.vaywv.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Age of Ashes.system.items.vaywv.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Age of Ashes.system.items.vaywv.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Student of the Canon" (x1)
'uuid':
type: string
path: Age of Ashes.system.items.vaywv.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Student of the Canon" (x1)
'publication':
type: object
path: Age of Ashes.system.publication
is_null: false
values: 9
schema:
'license':
type: string
path: Age of Ashes.system.publication.license
is_null: false
values: 9
different_values: 1 (all same)
variants: "OGL" (x9)
'remaster':
type: boolean
path: Age of Ashes.system.publication.remaster
is_null: false
values: 9
different_values: 1 (all same)
variants: False (x9)
'title':
type: string
path: Age of Ashes.system.publication.title
is_null: false
values: 9
different_values: 1 (all same)
variants: "Pathfinder Age of Ashes Player's Guide" (x9)
'rules':
type: ignored (Foundry rules object)
path: Age of Ashes.system.rules
is_null: false
values: 9
'trainedSkills':
type: object
path: Age of Ashes.system.trainedSkills
is_null: false
values: 9
schema:
'lore':
type: array<string>
path: Age of Ashes.system.trainedSkills.lore
is_null: false
values: 9
min_count: 1
max_count: 1
value_type:
type: string
path: Age of Ashes.system.trainedSkills.lore.[]
is_null: false
values: 9
different_values: 9 (all different)
variants:
- "Dragon Lore" (x1)
- "Kintargo Lore" (x1)
- "Dahak Lore" (x1)
- "Architecture Lore" (x1)
- "Breachill Lore" (x1)
- "<Ancestry> Lore" (x1)
- "<Terrain> Lore" (x1)
- "Engineering Lore" (x1)
- "Politics Lore" (x1)
'value':
type: array<string>
path: Age of Ashes.system.trainedSkills.value
is_null: false
values: 9
min_count: 1
max_count: 1
value_type:
type: string
path: Age of Ashes.system.trainedSkills.value.[]
is_null: false
values: 9
different_values: 9 (all different)
variants:
- "intimidation" (x1)
- "stealth" (x1)
- "religion" (x1)
- "society" (x1)
- "crafting" (x1)
- "diplomacy" (x1)
- "survival" (x1)
- "thievery" (x1)
- "deception" (x1)
'traits':
type: object
path: Age of Ashes.system.traits
is_null: false
values: 9
schema:
'rarity':
type: string
path: Age of Ashes.system.traits.rarity
is_null: false
values: 9
different_values: 1 (all same)
variants: "common" (x9)
'value':
type: array<>
path: Age of Ashes.system.traits.value
is_null: false
values: 9
min_count: 0
max_count: 0
value_type:
type:
path: Age of Ashes.system.traits.value.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: Age of Ashes.type
is_null: false
values: 9
different_values: 1 (all same)
variants: "background" (x9)
+564
View File
@@ -0,0 +1,564 @@
name: Agents of Edgewatch
values: 10
schema:
'_id':
type: string
path: Agents of Edgewatch._id
is_null: false
values: 10
different_values: 10 (all different)
variants:
- "CKU1sbFofcwZUJMx" (x1)
- "1VdLr4Qm8fv1m4tM" (x1)
- "xCCvT9tprRQVFVDq" (x1)
- "lCR8gyEZbwqh3RWi" (x1)
- "OD8RTS7cTeMJJFcR" (x1)
- "JauSkDtMV6dhDZS8" (x1)
- "DVtZab19D1vD3a0n" (x1)
- "vE6nb2OSIXqprDXk" (x1)
- "AfBCrHsw1xbRFejN" (x1)
- "86TbxxwfpWjScwSQ" (x1)
'folder':
type: string
path: Agents of Edgewatch.folder
is_null: false
values: 10
different_values: 1 (all same)
variants: "nMbLhTgeWwIj5w4w" (x10)
'img':
type: string
path: Agents of Edgewatch.img
is_null: false
values: 10
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/background.svg" (x10)
'name':
type: string
path: Agents of Edgewatch.name
is_null: false
values: 10
different_values: 10 (all different)
variants:
- "Ex-Con Token Guard" (x1)
- "Godless Graycloak" (x1)
- "Grizzled Muckrucker" (x1)
- "Harbor Guard Moonlighter" (x1)
- "Learned Guard Prodigy" (x1)
- "Political Scion" (x1)
- "Post Guard of All Trades" (x1)
- "Sally Guard Neophyte" (x1)
- "Sleepless Suns Star" (x1)
- "Undercover Lotus Guard" (x1)
'system':
type: object
path: Agents of Edgewatch.system
is_null: false
values: 10
schema:
'boosts':
type: object
path: Agents of Edgewatch.system.boosts
is_null: false
values: 10
schema:
'0':
type: object
path: Agents of Edgewatch.system.boosts.0
is_null: false
values: 10
schema:
'value':
type: array<string>
path: Agents of Edgewatch.system.boosts.0.value
is_null: false
values: 10
min_count: 2
max_count: 2
value_type:
type: string
path: Agents of Edgewatch.system.boosts.0.value.[]
is_null: false
values: 20
different_values: 6
variants:
- "con" (x5)
- "cha" (x4)
- "wis" (x4)
- "int" (x4)
- "dex" (x2)
- "str" (x1)
'1':
type: object
path: Agents of Edgewatch.system.boosts.1
is_null: false
values: 10
schema:
'value':
type: array<string>
path: Agents of Edgewatch.system.boosts.1.value
is_null: false
values: 10
min_count: 6
max_count: 6
value_type:
type: string
path: Agents of Edgewatch.system.boosts.1.value.[]
is_null: false
values: 60
different_values: 6
variants:
- "cha" (x10)
- "con" (x10)
- "dex" (x10)
- "int" (x10)
- "str" (x10)
- "wis" (x10)
'description':
type: object
path: Agents of Edgewatch.system.description
is_null: false
values: 10
schema:
'value':
type: string
path: Agents of Edgewatch.system.description.value
is_null: false
values: 10
different_values: 10 (all different)
variants: [omitted]
'items':
type: object
path: Agents of Edgewatch.system.items
is_null: false
values: 10
schema:
[15iku]:
type: object
path: Agents of Edgewatch.system.items.15iku
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.15iku.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.15iku.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.15iku.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Experienced Tracker" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.15iku.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Experienced Tracker" (x1)
[3tdk7]:
type: object
path: Agents of Edgewatch.system.items.3tdk7
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.3tdk7.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.3tdk7.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.3tdk7.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Pickpocket" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.3tdk7.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Pickpocket" (x1)
[8298f]:
type: object
path: Agents of Edgewatch.system.items.8298f
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.8298f.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.8298f.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.8298f.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Dubious Knowledge" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.8298f.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Dubious Knowledge" (x1)
'hqa2u':
type: object
path: Agents of Edgewatch.system.items.hqa2u
is_null: false
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.hqa2u.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.hqa2u.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.hqa2u.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Charming Liar" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.hqa2u.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Charming Liar" (x1)
[j7rys]:
type: object
path: Agents of Edgewatch.system.items.j7rys
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.j7rys.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.j7rys.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.j7rys.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Multilingual" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.j7rys.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Multilingual" (x1)
[km6n9]:
type: object
path: Agents of Edgewatch.system.items.km6n9
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.km6n9.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.km6n9.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.km6n9.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Hobnobber" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.km6n9.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Hobnobber" (x1)
[o4rw8]:
type: object
path: Agents of Edgewatch.system.items.o4rw8
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.o4rw8.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.o4rw8.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.o4rw8.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Recognize Spell" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.o4rw8.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Recognize Spell" (x1)
[pf0s5]:
type: object
path: Agents of Edgewatch.system.items.pf0s5
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.pf0s5.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.pf0s5.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.pf0s5.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Quick Identification" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.pf0s5.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Quick Identification" (x1)
[q0xhg]:
type: object
path: Agents of Edgewatch.system.items.q0xhg
is_null: true
values: 1
schema:
'img':
type: string
path: Agents of Edgewatch.system.items.q0xhg.img
is_null: false
values: 1
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x1)
'level':
type: integer
path: Agents of Edgewatch.system.items.q0xhg.level
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'name':
type: string
path: Agents of Edgewatch.system.items.q0xhg.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Quick Jump" (x1)
'uuid':
type: string
path: Agents of Edgewatch.system.items.q0xhg.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feats-srd.Item.Quick Jump" (x1)
'publication':
type: object
path: Agents of Edgewatch.system.publication
is_null: false
values: 10
schema:
'license':
type: string
path: Agents of Edgewatch.system.publication.license
is_null: false
values: 10
different_values: 1 (all same)
variants: "OGL" (x10)
'remaster':
type: boolean
path: Agents of Edgewatch.system.publication.remaster
is_null: false
values: 10
different_values: 1 (all same)
variants: False (x10)
'title':
type: string
path: Agents of Edgewatch.system.publication.title
is_null: false
values: 10
different_values: 1 (all same)
variants: "Pathfinder Agents of Edgewatch Player's Guide" (x10)
'rules':
type: ignored (Foundry rules object)
path: Agents of Edgewatch.system.rules
is_null: false
values: 10
'trainedSkills':
type: object
path: Agents of Edgewatch.system.trainedSkills
is_null: false
values: 10
schema:
[custom]:
type: string
path: Agents of Edgewatch.system.trainedSkills.custom
is_null: true
values: 1
different_values: 1 (all same)
variants: "" (x1)
'lore':
type: array<string>
path: Agents of Edgewatch.system.trainedSkills.lore
is_null: false
values: 10
min_count: 1
max_count: 1
value_type:
type: string
path: Agents of Edgewatch.system.trainedSkills.lore.[]
is_null: false
values: 10
different_values: 9
variants:
- "Legal Lore" (x2)
- "Legal Lore or Underworld Lore" (x1)
- "<Deity> Lore" (x1)
- "Labor Lore or Underworld Lore" (x1)
- "Sailing Lore or Hunting Lore" (x1)
- "<Any> Lore" (x1)
- "Hunting Lore or Stabling Lore" (x1)
- "Gladatorial Lore or Genealogy Lore" (x1)
- "Art Lore and Underworld Lore" (x1)
'value':
type: array<string>
path: Agents of Edgewatch.system.trainedSkills.value
is_null: false
values: 10
min_count: 0
max_count: 1
value_type:
type: string
path: Agents of Edgewatch.system.trainedSkills.value.[]
is_null: false
values: 9
different_values: 9
variants:
- "thievery" (x1)
- "religion" (x1)
- "survival" (x1)
- "athletics" (x1)
- "diplomacy" (x1)
- "performance" (x1)
- "nature" (x1)
- "society" (x1)
- "deception" (x1)
'traits':
type: object
path: Agents of Edgewatch.system.traits
is_null: false
values: 10
schema:
'rarity':
type: string
path: Agents of Edgewatch.system.traits.rarity
is_null: false
values: 10
different_values: 1 (all same)
variants: "common" (x10)
'value':
type: array<>
path: Agents of Edgewatch.system.traits.value
is_null: false
values: 10
min_count: 0
max_count: 0
value_type:
type:
path: Agents of Edgewatch.system.traits.value.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: Agents of Edgewatch.type
is_null: false
values: 10
different_values: 1 (all same)
variants: "background" (x10)
+211
View File
@@ -0,0 +1,211 @@
name: Aiuvarin
values: 7
schema:
'_id':
type: string
path: Aiuvarin._id
is_null: false
values: 7
different_values: 7 (all different)
variants:
- "nfERPRCITBp970HO" (x1)
- "7BVl9lFf0wuTjBgM" (x1)
- "pqezW5dqha1I32Ld" (x1)
- "8ukixWL8MBJOhPbW" (x1)
- "ecJms2jtd6cZ5rQK" (x1)
- "tn7K5lbnF87rZ659" (x1)
- "Rr7GdUjXhGhV04Pe" (x1)
'folder':
type: string
path: Aiuvarin.folder
is_null: false
values: 7
different_values: 1 (all same)
variants: "eZdHeQqcVGxIpbFQ" (x7)
'img':
type: string
path: Aiuvarin.img
is_null: false
values: 7
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x7)
'name':
type: string
path: Aiuvarin.name
is_null: false
values: 7
different_values: 7 (all different)
variants:
- "Earned Glory" (x1)
- "Elf Atavism" (x1)
- "Inspire Imitation" (x1)
- "Pinch Time" (x1)
- "Round Ears" (x1)
- "Sociable" (x1)
- "Supernatural Charm" (x1)
'system':
type: object
path: Aiuvarin.system
is_null: false
values: 7
schema:
'actionType':
type: object
path: Aiuvarin.system.actionType
is_null: false
values: 7
schema:
'value':
type: string
path: Aiuvarin.system.actionType.value
is_null: false
values: 7
different_values: 1 (all same)
variants: "passive" (x7)
'actions':
type: object
path: Aiuvarin.system.actions
is_null: false
values: 7
schema:
[value]:
type:
path: Aiuvarin.system.actions.value
is_null: true
values: 0
is_empty: true
'category':
type: string
path: Aiuvarin.system.category
is_null: false
values: 7
different_values: 1 (all same)
variants: "ancestry" (x7)
'description':
type: object
path: Aiuvarin.system.description
is_null: false
values: 7
schema:
'value':
type: string
path: Aiuvarin.system.description.value
is_null: false
values: 7
different_values: 7 (all different)
variants: [omitted]
'level':
type: object
path: Aiuvarin.system.level
is_null: false
values: 7
schema:
'value':
type: integer
path: Aiuvarin.system.level.value
is_null: false
values: 7
different_values: 3
variants:
- 1 (x4)
- 5 (x2)
- 9 (x1)
'prerequisites':
type: object
path: Aiuvarin.system.prerequisites
is_null: false
values: 7
schema:
'value':
type: array<>
path: Aiuvarin.system.prerequisites.value
is_null: false
values: 7
min_count: 0
max_count: 0
value_type:
type:
path: Aiuvarin.system.prerequisites.value.[]
is_null: false
values: 0
is_empty: true
'publication':
type: object
path: Aiuvarin.system.publication
is_null: false
values: 7
schema:
'license':
type: string
path: Aiuvarin.system.publication.license
is_null: false
values: 7
different_values: 2
variants:
- "ORC" (x4)
- "OGL" (x3)
'remaster':
type: boolean
path: Aiuvarin.system.publication.remaster
is_null: false
values: 7
different_values: 2
variants:
- True (x4)
- False (x3)
'title':
type: string
path: Aiuvarin.system.publication.title
is_null: false
values: 7
different_values: 3
variants:
- "Pathfinder Player Core" (x4)
- "Pathfinder Lost Omens Character Guide" (x2)
- "Pathfinder Advanced Player's Guide" (x1)
'rules':
type: ignored (Foundry rules object)
path: Aiuvarin.system.rules
is_null: false
values: 7
'traits':
type: object
path: Aiuvarin.system.traits
is_null: false
values: 7
schema:
'rarity':
type: string
path: Aiuvarin.system.traits.rarity
is_null: false
values: 7
different_values: 1 (all same)
variants: "common" (x7)
'value':
type: array<string>
path: Aiuvarin.system.traits.value
is_null: false
values: 7
min_count: 1
max_count: 1
value_type:
type: string
path: Aiuvarin.system.traits.value.[]
is_null: false
values: 7
different_values: 1 (all same)
variants: "aiuvarin" (x7)
[onlyLevel1]:
type: boolean
path: Aiuvarin.system.onlyLevel1
is_null: true
values: 2
different_values: 1 (all same)
variants: True (x2)
'type':
type: string
path: Aiuvarin.type
is_null: false
values: 7
different_values: 1 (all same)
variants: "feat" (x7)
+305
View File
@@ -0,0 +1,305 @@
name: Alchemist
values: 65
schema:
'_id':
type: string
path: Alchemist._id
is_null: false
values: 65
different_values: 65 (all different)
variants: [omitted]
'folder':
type: string
path: Alchemist.folder
is_null: false
values: 65
different_values: 1 (all same)
variants: "d7DhNET1xI0b7LSM" (x65)
'img':
type: string
path: Alchemist.img
is_null: false
values: 65
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x65)
'name':
type: string
path: Alchemist.name
is_null: false
values: 65
different_values: 65 (all different)
variants: [omitted]
'system':
type: object
path: Alchemist.system
is_null: false
values: 65
schema:
'actionType':
type: object
path: Alchemist.system.actionType
is_null: false
values: 65
schema:
'value':
type: string
path: Alchemist.system.actionType.value
is_null: false
values: 65
different_values: 4
variants:
- "passive" (x53)
- "action" (x6)
- "free" (x5)
- "reaction" (x1)
'actions':
type: object
path: Alchemist.system.actions
is_null: false
values: 65
schema:
[value]:
type: integer
path: Alchemist.system.actions.value
is_null: true
values: 6
different_values: 2
variants:
- 1 (x5)
- 3 (x1)
'category':
type: string
path: Alchemist.system.category
is_null: false
values: 65
different_values: 1 (all same)
variants: "class" (x65)
'description':
type: object
path: Alchemist.system.description
is_null: false
values: 65
schema:
'value':
type: string
path: Alchemist.system.description.value
is_null: false
values: 65
different_values: 65 (all different)
variants: [omitted]
'level':
type: object
path: Alchemist.system.level
is_null: false
values: 65
schema:
'value':
type: integer
path: Alchemist.system.level.value
is_null: false
values: 65
different_values: 11
variants:
- 4 (x10)
- 20 (x8)
- 8 (x8)
- 10 (x7)
- 1 (x6)
- 6 (x6)
- 2 (x6)
- 14 (x4)
- 12 (x4)
- 16 (x3)
- 18 (x3)
'prerequisites':
type: object
path: Alchemist.system.prerequisites
is_null: false
values: 65
schema:
'value':
type: array<object>
path: Alchemist.system.prerequisites.value
is_null: false
values: 65
min_count: 0
max_count: 1
value_type:
type: object
path: Alchemist.system.prerequisites.value.[]
is_null: false
values: 12
schema:
'value':
type: string
path: Alchemist.system.prerequisites.value.[].value
is_null: false
values: 12
different_values: 10
variants:
- "Extend Elixir" (x2)
- "Invigorating Elixir" (x2)
- "Efficient Alchemy" (x1)
- "trained in Crafting" (x1)
- "Debilitating Bomb" (x1)
- "Merciful Elixir" (x1)
- "perpetual infusions" (x1)
- "Powerful Alchemy" (x1)
- "Greater Debilitating Bomb" (x1)
- "Far Lobber" (x1)
'publication':
type: object
path: Alchemist.system.publication
is_null: false
values: 65
schema:
'license':
type: string
path: Alchemist.system.publication.license
is_null: false
values: 65
different_values: 2
variants:
- "ORC" (x50)
- "OGL" (x15)
'remaster':
type: boolean
path: Alchemist.system.publication.remaster
is_null: false
values: 65
different_values: 2
variants:
- True (x50)
- False (x15)
'title':
type: string
path: Alchemist.system.publication.title
is_null: false
values: 65
different_values: 10
variants:
- "Pathfinder Player Core 2" (x46)
- "Pathfinder Core Rulebook" (x5)
- "Pathfinder Lost Omens Tian Xia Character Guide" (x4)
- "Pathfinder Lost Omens Legends" (x2)
- "Pathfinder Lost Omens Knights of Lastwall" (x2)
- "Pathfinder Advanced Player's Guide" (x2)
- "Pathfinder #156: The Apocalypse Prophet" (x1)
- "Pathfinder #150: Broken Promises" (x1)
- "Pathfinder #168: King of the Mountain" (x1)
- "Pathfinder #149: Against the Scarlet Triad" (x1)
'rules':
type: ignored (Foundry rules object)
path: Alchemist.system.rules
is_null: false
values: 65
'traits':
type: object
path: Alchemist.system.traits
is_null: false
values: 65
schema:
'rarity':
type: string
path: Alchemist.system.traits.rarity
is_null: false
values: 65
different_values: 3
variants:
- "common" (x57)
- "uncommon" (x6)
- "rare" (x2)
[selected]:
type: object
path: Alchemist.system.traits.selected
is_null: true
values: 4
schema:
[additive2]:
type: string
path: Alchemist.system.traits.selected.additive2
is_null: true
values: 2
different_values: 1 (all same)
variants: "Additive 2" (x2)
[alchemical]:
type: string
path: Alchemist.system.traits.selected.alchemical
is_null: true
values: 1
different_values: 1 (all same)
variants: "Alchemical" (x1)
[alchemist]:
type: string
path: Alchemist.system.traits.selected.alchemist
is_null: true
values: 2
different_values: 1 (all same)
variants: "Alchemist" (x2)
'value':
type: array<string>
path: Alchemist.system.traits.value
is_null: false
values: 65
min_count: 1
max_count: 3
value_type:
type: string
path: Alchemist.system.traits.value.[]
is_null: false
values: 92
different_values: 8
variants:
- "alchemist" (x65)
- "additive" (x13)
- "additive2" (x4)
- "manipulate" (x4)
- "healing" (x2)
- "concentrate" (x2)
- "exploration" (x1)
- "olfactory" (x1)
[frequency]:
type: object
path: Alchemist.system.frequency
is_null: true
values: 7
schema:
'max':
type: integer
path: Alchemist.system.frequency.max
is_null: false
values: 7
different_values: 1 (all same)
variants: 1 (x7)
'per':
type: string
path: Alchemist.system.frequency.per
is_null: false
values: 7
different_values: 4
variants:
- "round" (x3)
- "day" (x2)
- "PT1M" (x1)
- "PT10M" (x1)
[value]:
type: integer
path: Alchemist.system.frequency.value
is_null: true
values: 4
different_values: 1 (all same)
variants: 1 (x4)
[maxTakable]:
type: integer
path: Alchemist.system.maxTakable
is_null: true
values: 1
different_values: 1 (all same)
variants: 2 (x1)
'type':
type: string
path: Alchemist.type
is_null: false
values: 65
different_values: 1 (all same)
variants: "feat" (x65)
+235
View File
@@ -0,0 +1,235 @@
name: Aldori Duelist
values: 6
schema:
'_id':
type: string
path: Aldori Duelist._id
is_null: false
values: 6
different_values: 6 (all different)
variants:
- "pI97a5xSg4LbBY1g" (x1)
- "NZgjqVV2HYzLCvvA" (x1)
- "8RppI1i4LfI0CYsX" (x1)
- "Bk07joho2dUG3lVw" (x1)
- "F3ZBkDEWZ24NOR2j" (x1)
- "V7bwuYADV8huWeF7" (x1)
'folder':
type: string
path: Aldori Duelist.folder
is_null: false
values: 6
different_values: 1 (all same)
variants: "JYYJ09UxpgSWMp27" (x6)
'img':
type: string
path: Aldori Duelist.img
is_null: false
values: 6
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x6)
'name':
type: string
path: Aldori Duelist.name
is_null: false
values: 6
different_values: 6 (all different)
variants:
- "Aldori Duelist Dedication" (x1)
- "Aldori Parry" (x1)
- "Aldori Riposte" (x1)
- "Duelist's Edge" (x1)
- "Saving Slash" (x1)
- "Unnerving Prowess" (x1)
'system':
type: object
path: Aldori Duelist.system
is_null: false
values: 6
schema:
'actionType':
type: object
path: Aldori Duelist.system.actionType
is_null: false
values: 6
schema:
'value':
type: string
path: Aldori Duelist.system.actionType.value
is_null: false
values: 6
different_values: 4
variants:
- "passive" (x2)
- "free" (x2)
- "action" (x1)
- "reaction" (x1)
'actions':
type: object
path: Aldori Duelist.system.actions
is_null: false
values: 6
schema:
[value]:
type: integer
path: Aldori Duelist.system.actions.value
is_null: true
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'category':
type: string
path: Aldori Duelist.system.category
is_null: false
values: 6
different_values: 1 (all same)
variants: "class" (x6)
'description':
type: object
path: Aldori Duelist.system.description
is_null: false
values: 6
schema:
'value':
type: string
path: Aldori Duelist.system.description.value
is_null: false
values: 6
different_values: 6 (all different)
variants: [omitted]
'level':
type: object
path: Aldori Duelist.system.level
is_null: false
values: 6
schema:
'value':
type: integer
path: Aldori Duelist.system.level.value
is_null: false
values: 6
different_values: 4
variants:
- 4 (x2)
- 6 (x2)
- 2 (x1)
- 10 (x1)
'prerequisites':
type: object
path: Aldori Duelist.system.prerequisites
is_null: false
values: 6
schema:
'value':
type: array<object>
path: Aldori Duelist.system.prerequisites.value
is_null: false
values: 6
min_count: 1
max_count: 1
value_type:
type: object
path: Aldori Duelist.system.prerequisites.value.[]
is_null: false
values: 6
schema:
'value':
type: string
path: Aldori Duelist.system.prerequisites.value.[].value
is_null: false
values: 6
different_values: 3
variants:
- "Aldori Duelist Dedication" (x4)
- "trained in Aldori dueling swords" (x1)
- "Aldori Parry" (x1)
'publication':
type: object
path: Aldori Duelist.system.publication
is_null: false
values: 6
schema:
'license':
type: string
path: Aldori Duelist.system.publication.license
is_null: false
values: 6
different_values: 1 (all same)
variants: "OGL" (x6)
'remaster':
type: boolean
path: Aldori Duelist.system.publication.remaster
is_null: false
values: 6
different_values: 1 (all same)
variants: False (x6)
'title':
type: string
path: Aldori Duelist.system.publication.title
is_null: false
values: 6
different_values: 1 (all same)
variants: "Pathfinder Lost Omens World Guide" (x6)
'rules':
type: ignored (Foundry rules object)
path: Aldori Duelist.system.rules
is_null: false
values: 6
'traits':
type: object
path: Aldori Duelist.system.traits
is_null: false
values: 6
schema:
'rarity':
type: string
path: Aldori Duelist.system.traits.rarity
is_null: false
values: 6
different_values: 2
variants:
- "common" (x5)
- "uncommon" (x1)
'value':
type: array<string>
path: Aldori Duelist.system.traits.value
is_null: false
values: 6
min_count: 1
max_count: 2
value_type:
type: string
path: Aldori Duelist.system.traits.value.[]
is_null: false
values: 7
different_values: 2
variants:
- "archetype" (x6)
- "dedication" (x1)
[selfEffect]:
type: object
path: Aldori Duelist.system.selfEffect
is_null: true
values: 1
schema:
'name':
type: string
path: Aldori Duelist.system.selfEffect.name
is_null: false
values: 1
different_values: 1 (all same)
variants: "Effect: Aldori Parry" (x1)
'uuid':
type: string
path: Aldori Duelist.system.selfEffect.uuid
is_null: false
values: 1
different_values: 1 (all same)
variants: "Compendium.pf2e.feat-effects.Item.Effect: Aldori Parry" (x1)
'type':
type: string
path: Aldori Duelist.type
is_null: false
values: 6
different_values: 1 (all same)
variants: "feat" (x6)
+215
View File
@@ -0,0 +1,215 @@
name: Alkenstar Agent
values: 4
schema:
'_id':
type: string
path: Alkenstar Agent._id
is_null: false
values: 4
different_values: 4 (all different)
variants:
- "8qawcaQAZMD7pC6Y" (x1)
- "qbFRPTHP96Q9kGpk" (x1)
- "Jk6gZzXEABiX5A0S" (x1)
- "JEzjyNbpsh05iymG" (x1)
'folder':
type: string
path: Alkenstar Agent.folder
is_null: false
values: 4
different_values: 1 (all same)
variants: "GMVALPbvTcAIWPL9" (x4)
'img':
type: string
path: Alkenstar Agent.img
is_null: false
values: 4
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x4)
'name':
type: string
path: Alkenstar Agent.name
is_null: false
values: 4
different_values: 4 (all different)
variants:
- "Alkenstar Agent Dedication" (x1)
- "Flash Your Badge" (x1)
- "Loose Cannon" (x1)
- "Prepare Papers" (x1)
'system':
type: object
path: Alkenstar Agent.system
is_null: false
values: 4
schema:
'actionType':
type: object
path: Alkenstar Agent.system.actionType
is_null: false
values: 4
schema:
'value':
type: string
path: Alkenstar Agent.system.actionType.value
is_null: false
values: 4
different_values: 2
variants:
- "passive" (x2)
- "action" (x2)
'actions':
type: object
path: Alkenstar Agent.system.actions
is_null: false
values: 4
schema:
[value]:
type: integer
path: Alkenstar Agent.system.actions.value
is_null: true
values: 2
different_values: 2
variants:
- 2 (x1)
- 1 (x1)
'category':
type: string
path: Alkenstar Agent.system.category
is_null: false
values: 4
different_values: 2
variants:
- "class" (x3)
- "skill" (x1)
'description':
type: object
path: Alkenstar Agent.system.description
is_null: false
values: 4
schema:
'value':
type: string
path: Alkenstar Agent.system.description.value
is_null: false
values: 4
different_values: 4 (all different)
variants: [omitted]
'level':
type: object
path: Alkenstar Agent.system.level
is_null: false
values: 4
schema:
'value':
type: integer
path: Alkenstar Agent.system.level.value
is_null: false
values: 4
different_values: 4 (all different)
variants:
- 2 (x1)
- 10 (x1)
- 4 (x1)
- 7 (x1)
'prerequisites':
type: object
path: Alkenstar Agent.system.prerequisites
is_null: false
values: 4
schema:
'value':
type: array<object>
path: Alkenstar Agent.system.prerequisites.value
is_null: false
values: 4
min_count: 1
max_count: 2
value_type:
type: object
path: Alkenstar Agent.system.prerequisites.value.[]
is_null: false
values: 6
schema:
'value':
type: string
path: Alkenstar Agent.system.prerequisites.value.[].value
is_null: false
values: 6
different_values: 4 (all different)
variants:
- "Alkenstar Agent Dedication" (x3)
- "trained in Deception and at least one firearm" (x1)
- "master in Intimidation" (x1)
- "master in Society" (x1)
'publication':
type: object
path: Alkenstar Agent.system.publication
is_null: false
values: 4
schema:
'license':
type: string
path: Alkenstar Agent.system.publication.license
is_null: false
values: 4
different_values: 1 (all same)
variants: "OGL" (x4)
'remaster':
type: boolean
path: Alkenstar Agent.system.publication.remaster
is_null: false
values: 4
different_values: 1 (all same)
variants: False (x4)
'title':
type: string
path: Alkenstar Agent.system.publication.title
is_null: false
values: 4
different_values: 1 (all same)
variants: "Pathfinder #178: Punks in a Powder Keg" (x4)
'rules':
type: ignored (Foundry rules object)
path: Alkenstar Agent.system.rules
is_null: false
values: 4
'traits':
type: object
path: Alkenstar Agent.system.traits
is_null: false
values: 4
schema:
'rarity':
type: string
path: Alkenstar Agent.system.traits.rarity
is_null: false
values: 4
different_values: 2
variants:
- "common" (x3)
- "uncommon" (x1)
'value':
type: array<string>
path: Alkenstar Agent.system.traits.value
is_null: false
values: 4
min_count: 1
max_count: 2
value_type:
type: string
path: Alkenstar Agent.system.traits.value.[]
is_null: false
values: 6
different_values: 3
variants:
- "archetype" (x4)
- "dedication" (x1)
- "skill" (x1)
'type':
type: string
path: Alkenstar Agent.type
is_null: false
values: 4
different_values: 1 (all same)
variants: "feat" (x4)
+294
View File
@@ -0,0 +1,294 @@
name: Alter Ego
values: 11
schema:
'_id':
type: string
path: Alter Ego._id
is_null: false
values: 11
different_values: 11 (all different)
variants:
- "3r4v6W4abJnLg7dv" (x1)
- "kC92uxCvrxDkrCpO" (x1)
- "SZ8J3NbtiizFaNzz" (x1)
- "juTBSRs2jzJzLoth" (x1)
- "X62yfg4vky1JMnf1" (x1)
- "ZC9C6rxPJKrw6Ktx" (x1)
- "hPfqQpiq6W8RPCxz" (x1)
- "C5CweUNPP7HlRfBM" (x1)
- "dCCVqIcYrhCp3Bzl" (x1)
- "ossGwqEvC6ifPwgT" (x1)
- "xduV7Kyoi5OWvMEK" (x1)
'folder':
type: string
path: Alter Ego.folder
is_null: false
values: 11
different_values: 1 (all same)
variants: "QhaVT5m7pZb0hFuV" (x11)
'img':
type: string
path: Alter Ego.img
is_null: false
values: 11
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x11)
'name':
type: string
path: Alter Ego.name
is_null: false
values: 11
different_values: 11 (all different)
variants:
- "Alter Ego Dedication" (x1)
- "Borrow Memories" (x1)
- "Change of Face" (x1)
- "Fake It Till You Make It" (x1)
- "Illusory Identity" (x1)
- "In Plain Sight" (x1)
- "It Was Me All Along!" (x1)
- "Muscle Mimicry" (x1)
- "Sound Mirror" (x1)
- "Swap Reflections" (x1)
- "We're on the List" (x1)
'system':
type: object
path: Alter Ego.system
is_null: false
values: 11
schema:
'actionType':
type: object
path: Alter Ego.system.actionType
is_null: false
values: 11
schema:
'value':
type: string
path: Alter Ego.system.actionType.value
is_null: false
values: 11
different_values: 3
variants:
- "passive" (x8)
- "action" (x2)
- "reaction" (x1)
'actions':
type: object
path: Alter Ego.system.actions
is_null: false
values: 11
schema:
[value]:
type: integer
path: Alter Ego.system.actions.value
is_null: true
values: 2
different_values: 2
variants:
- 1 (x1)
- 2 (x1)
'category':
type: string
path: Alter Ego.system.category
is_null: false
values: 11
different_values: 2
variants:
- "class" (x7)
- "skill" (x4)
'description':
type: object
path: Alter Ego.system.description
is_null: false
values: 11
schema:
'value':
type: string
path: Alter Ego.system.description.value
is_null: false
values: 11
different_values: 11 (all different)
variants: [omitted]
'level':
type: object
path: Alter Ego.system.level
is_null: false
values: 11
schema:
'value':
type: integer
path: Alter Ego.system.level.value
is_null: false
values: 11
different_values: 8
variants:
- 4 (x3)
- 14 (x2)
- 2 (x1)
- 12 (x1)
- 7 (x1)
- 6 (x1)
- 8 (x1)
- 3 (x1)
'prerequisites':
type: object
path: Alter Ego.system.prerequisites
is_null: false
values: 11
schema:
'value':
type: array<object>
path: Alter Ego.system.prerequisites.value
is_null: false
values: 11
min_count: 1
max_count: 3
value_type:
type: object
path: Alter Ego.system.prerequisites.value.[]
is_null: false
values: 14
schema:
'value':
type: string
path: Alter Ego.system.prerequisites.value.[].value
is_null: false
values: 14
different_values: 7
variants:
- "Alter Ego Dedication" (x8)
- "trained in Deception and Stealth" (x1)
- "Alter Ego Dedication or Vigilante Dedication" (x1)
- "trained in Athletics" (x1)
- "master in Deception" (x1)
- "Alter Ego Dedication or Archaeologist Dedication" (x1)
- "trained in Society" (x1)
'publication':
type: object
path: Alter Ego.system.publication
is_null: false
values: 11
schema:
'license':
type: string
path: Alter Ego.system.publication.license
is_null: false
values: 11
different_values: 1 (all same)
variants: "OGL" (x11)
'remaster':
type: boolean
path: Alter Ego.system.publication.remaster
is_null: false
values: 11
different_values: 1 (all same)
variants: False (x11)
'title':
type: string
path: Alter Ego.system.publication.title
is_null: false
values: 11
different_values: 2
variants:
- "Pathfinder Dark Archive" (x8)
- "Pathfinder Lost Omens Firebrands" (x3)
'rules':
type: ignored (Foundry rules object)
path: Alter Ego.system.rules
is_null: false
values: 11
'traits':
type: object
path: Alter Ego.system.traits
is_null: false
values: 11
schema:
'rarity':
type: string
path: Alter Ego.system.traits.rarity
is_null: false
values: 11
different_values: 2
variants:
- "common" (x6)
- "uncommon" (x5)
'value':
type: array<string>
path: Alter Ego.system.traits.value
is_null: false
values: 11
min_count: 1
max_count: 5
value_type:
type: string
path: Alter Ego.system.traits.value.[]
is_null: false
values: 24
different_values: 11 (all different)
variants:
- "archetype" (x11)
- "skill" (x4)
- "dedication" (x1)
- "illusion" (x1)
- "fortune" (x1)
- "mental" (x1)
- "concentrate" (x1)
- "extradimensional" (x1)
- "incapacitation" (x1)
- "occult" (x1)
- "teleportation" (x1)
[frequency]:
type: object
path: Alter Ego.system.frequency
is_null: true
values: 2
schema:
'max':
type: integer
path: Alter Ego.system.frequency.max
is_null: false
values: 2
different_values: 1 (all same)
variants: 1 (x2)
'per':
type: string
path: Alter Ego.system.frequency.per
is_null: false
values: 2
different_values: 2
variants:
- "day" (x1)
- "PT10M" (x1)
[subfeatures]:
type: object
path: Alter Ego.system.subfeatures
is_null: true
values: 1
schema:
'proficiencies':
type: object
path: Alter Ego.system.subfeatures.proficiencies
is_null: false
values: 1
schema:
'spellcasting':
type: object
path: Alter Ego.system.subfeatures.proficiencies.spellcasting
is_null: false
values: 1
schema:
'rank':
type: integer
path: Alter Ego.system.subfeatures.proficiencies.spellcasting.rank
is_null: false
values: 1
different_values: 1 (all same)
variants: 1 (x1)
'type':
type: string
path: Alter Ego.type
is_null: false
values: 11
different_values: 1 (all same)
variants: "feat" (x11)
+152
View File
@@ -0,0 +1,152 @@
name: Anadi
values: 5
schema:
'_id':
type: string
path: Anadi._id
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "7gGcpQMqnZhBDZLI" (x1)
- "daaXga11ov9YQVNq" (x1)
- "cwOUw7kofcAiY01I" (x1)
- "WxcbLvufI6JBpLt0" (x1)
- "kTlJqhC7ZSE8P8lu" (x1)
'folder':
type: string
path: Anadi.folder
is_null: false
values: 5
different_values: 1 (all same)
variants: "1nhgH7eUL9FK6Ofz" (x5)
'img':
type: string
path: Anadi.img
is_null: false
values: 5
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/heritage.svg" (x5)
'name':
type: string
path: Anadi.name
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "Adaptive Anadi" (x1)
- "Polychromatic Anadi" (x1)
- "Snaring Anadi" (x1)
- "Spindly Anadi" (x1)
- "Venomous Anadi" (x1)
'system':
type: object
path: Anadi.system
is_null: false
values: 5
schema:
'ancestry':
type: object
path: Anadi.system.ancestry
is_null: false
values: 5
schema:
'name':
type: string
path: Anadi.system.ancestry.name
is_null: false
values: 5
different_values: 1 (all same)
variants: "Anadi" (x5)
'slug':
type: string
path: Anadi.system.ancestry.slug
is_null: false
values: 5
different_values: 1 (all same)
variants: "anadi" (x5)
'uuid':
type: string
path: Anadi.system.ancestry.uuid
is_null: false
values: 5
different_values: 1 (all same)
variants: "Compendium.pf2e.ancestries.Item.TQEqWqc7BYiadUdY" (x5)
'description':
type: object
path: Anadi.system.description
is_null: false
values: 5
schema:
'value':
type: string
path: Anadi.system.description.value
is_null: false
values: 5
different_values: 5 (all different)
variants: [omitted]
'publication':
type: object
path: Anadi.system.publication
is_null: false
values: 5
schema:
'license':
type: string
path: Anadi.system.publication.license
is_null: false
values: 5
different_values: 1 (all same)
variants: "OGL" (x5)
'remaster':
type: boolean
path: Anadi.system.publication.remaster
is_null: false
values: 5
different_values: 1 (all same)
variants: False (x5)
'title':
type: string
path: Anadi.system.publication.title
is_null: false
values: 5
different_values: 1 (all same)
variants: "Pathfinder Lost Omens The Mwangi Expanse" (x5)
'rules':
type: ignored (Foundry rules object)
path: Anadi.system.rules
is_null: false
values: 5
'traits':
type: object
path: Anadi.system.traits
is_null: false
values: 5
schema:
'rarity':
type: string
path: Anadi.system.traits.rarity
is_null: false
values: 5
different_values: 1 (all same)
variants: "common" (x5)
'value':
type: array<>
path: Anadi.system.traits.value
is_null: false
values: 5
min_count: 0
max_count: 0
value_type:
type:
path: Anadi.system.traits.value.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: Anadi.type
is_null: false
values: 5
different_values: 1 (all same)
variants: "heritage" (x5)
File diff suppressed because it is too large Load Diff
+312
View File
@@ -0,0 +1,312 @@
name: Ancestry Features
values: 51
schema:
'_id':
type: string
path: Ancestry Features._id
is_null: false
values: 51
different_values: 51 (all different)
variants: [omitted]
'img':
type: string
path: Ancestry Features.img
is_null: false
values: 51
different_values: 48
variants: [omitted]
'name':
type: string
path: Ancestry Features.name
is_null: false
values: 51
different_values: 51 (all different)
variants: [omitted]
'system':
type: object
path: Ancestry Features.system
is_null: false
values: 51
schema:
'actionType':
type: object
path: Ancestry Features.system.actionType
is_null: false
values: 51
schema:
'value':
type: string
path: Ancestry Features.system.actionType.value
is_null: false
values: 51
different_values: 1 (all same)
variants: "passive" (x51)
'actions':
type: object
path: Ancestry Features.system.actions
is_null: false
values: 51
schema:
[value]:
type:
path: Ancestry Features.system.actions.value
is_null: true
values: 0
is_empty: true
'category':
type: string
path: Ancestry Features.system.category
is_null: false
values: 51
different_values: 1 (all same)
variants: "ancestryfeature" (x51)
'description':
type: object
path: Ancestry Features.system.description
is_null: false
values: 51
schema:
'value':
type: string
path: Ancestry Features.system.description.value
is_null: false
values: 51
different_values: 51 (all different)
variants: [omitted]
'level':
type: object
path: Ancestry Features.system.level
is_null: false
values: 51
schema:
'value':
type: integer
path: Ancestry Features.system.level.value
is_null: false
values: 51
different_values: 2
variants:
- 0 (x39)
- 1 (x12)
'prerequisites':
type: object
path: Ancestry Features.system.prerequisites
is_null: false
values: 51
schema:
'value':
type: array<>
path: Ancestry Features.system.prerequisites.value
is_null: false
values: 51
min_count: 0
max_count: 0
value_type:
type:
path: Ancestry Features.system.prerequisites.value.[]
is_null: false
values: 0
is_empty: true
'publication':
type: object
path: Ancestry Features.system.publication
is_null: false
values: 51
schema:
'license':
type: string
path: Ancestry Features.system.publication.license
is_null: false
values: 51
different_values: 2
variants:
- "OGL" (x27)
- "ORC" (x24)
'remaster':
type: boolean
path: Ancestry Features.system.publication.remaster
is_null: false
values: 51
different_values: 2
variants:
- False (x27)
- True (x24)
'title':
type: string
path: Ancestry Features.system.publication.title
is_null: false
values: 51
different_values: 14
variants:
- "Pathfinder Howl of the Wild" (x9)
- "Pathfinder Player Core 2" (x7)
- "Pathfinder Lost Omens Ancestry Guide" (x6)
- "Pathfinder Lost Omens Impossible Lands" (x6)
- "Pathfinder Book of the Dead" (x4)
- "Pathfinder Lost Omens Tian Xia Character Guide" (x4)
- "Pathfinder Lost Omens The Mwangi Expanse" (x3)
- "Pathfinder Guns & Gears" (x2)
- "Pathfinder Lost Omens The Grand Bazaar" (x2)
- "Pathfinder Advanced Player's Guide" (x2)
- "Pathfinder Lost Omens Absalom, City of Lost Omens" (x2)
- "Pathfinder Player Core" (x2)
- "Pathfinder #153: Life's Long Shadows" (x1)
- "Pathfinder Core Rulebook" (x1)
'rules':
type: ignored (Foundry rules object)
path: Ancestry Features.system.rules
is_null: false
values: 51
'traits':
type: object
path: Ancestry Features.system.traits
is_null: false
values: 51
schema:
'rarity':
type: string
path: Ancestry Features.system.traits.rarity
is_null: false
values: 51
different_values: 1 (all same)
variants: "common" (x51)
[selected]:
type: object
path: Ancestry Features.system.traits.selected
is_null: true
values: 6
schema:
[catfolk]:
type: string
path: Ancestry Features.system.traits.selected.catfolk
is_null: true
values: 1
different_values: 1 (all same)
variants: "Catfolk" (x1)
[halfling]:
type: string
path: Ancestry Features.system.traits.selected.halfling
is_null: true
values: 1
different_values: 1 (all same)
variants: "Halfling" (x1)
[lizardfolk]:
type: string
path: Ancestry Features.system.traits.selected.lizardfolk
is_null: true
values: 2
different_values: 1 (all same)
variants: "Lizardfolk" (x2)
[shoony]:
type: string
path: Ancestry Features.system.traits.selected.shoony
is_null: true
values: 1
different_values: 1 (all same)
variants: "Shoony" (x1)
'tengu':
type: string
path: Ancestry Features.system.traits.selected.tengu
is_null: false
values: 1
different_values: 1 (all same)
variants: "Tengu" (x1)
'value':
type: array<string>
path: Ancestry Features.system.traits.value
is_null: false
values: 51
min_count: 0
max_count: 1
value_type:
type: string
path: Ancestry Features.system.traits.value.[]
is_null: false
values: 30
different_values: 23
variants: [omitted]
[subfeatures]:
type: object
path: Ancestry Features.system.subfeatures
is_null: true
values: 1
schema:
'languages':
type: object
path: Ancestry Features.system.subfeatures.languages
is_null: false
values: 1
schema:
'granted':
type: array<string>
path: Ancestry Features.system.subfeatures.languages.granted
is_null: false
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: Ancestry Features.system.subfeatures.languages.granted.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "necril" (x1)
'slots':
type: integer
path: Ancestry Features.system.subfeatures.languages.slots
is_null: false
values: 1
different_values: 1 (all same)
variants: 0 (x1)
'senses':
type: object
path: Ancestry Features.system.subfeatures.senses
is_null: false
values: 1
schema:
'darkvision':
type: object
path: Ancestry Features.system.subfeatures.senses.darkvision
is_null: false
values: 1
schema:
'special':
type: object
path: Ancestry Features.system.subfeatures.senses.darkvision.special
is_null: false
values: 1
schema:
'ancestry':
type: boolean
path: Ancestry Features.system.subfeatures.senses.darkvision.special.ancestry
is_null: false
values: 1
different_values: 1 (all same)
variants: True (x1)
'llv':
type: boolean
path: Ancestry Features.system.subfeatures.senses.darkvision.special.llv
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
'second':
type: boolean
path: Ancestry Features.system.subfeatures.senses.darkvision.special.second
is_null: false
values: 1
different_values: 1 (all same)
variants: False (x1)
'low-light-vision':
type: object
path: Ancestry Features.system.subfeatures.senses.low-light-vision
is_null: false
values: 1
schema:
'type':
type: string
path: Ancestry Features.type
is_null: false
values: 51
different_values: 1 (all same)
variants: "feat" (x51)
+380
View File
@@ -0,0 +1,380 @@
name: Ancient Osirian Gods
values: 13
schema:
'_id':
type: string
path: Ancient Osirian Gods._id
is_null: false
values: 13
different_values: 13 (all different)
variants:
- "8xrpo05lZvTQaAkJ" (x1)
- "zRmAXj7FSlrMfDeA" (x1)
- "eyGEoggFlTEUQmvJ" (x1)
- "TpAMy8tb5LrRgvqN" (x1)
- "OkEJdnT0HyjLjrg9" (x1)
- "BVF5L71JblkYUW5E" (x1)
- "EbiJVJN86Q5SfDOt" (x1)
- "RoBL67dQIQgIahtY" (x1)
- "0nQItOlce5ua6Eaf" (x1)
- "xTD0XFaguBX6QQ2L" (x1)
- "EfHlurXdqkdRXaqv" (x1)
- "TvxsVRztDlGcWpcI" (x1)
- "GUmYLD7PGmE2TOx6" (x1)
'folder':
type: string
path: Ancient Osirian Gods.folder
is_null: false
values: 13
different_values: 1 (all same)
variants: "WmjOpXCQjjSE3KuG" (x13)
'img':
type: string
path: Ancient Osirian Gods.img
is_null: false
values: 13
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/deity.svg" (x13)
'name':
type: string
path: Ancient Osirian Gods.name
is_null: false
values: 13
different_values: 13 (all different)
variants:
- "Apep" (x1)
- "Bastet" (x1)
- "Bes" (x1)
- "Hathor" (x1)
- "Khepri" (x1)
- "Neith" (x1)
- "Nephthys" (x1)
- "Ptah" (x1)
- "Sekhmet" (x1)
- "Selket" (x1)
- "Set" (x1)
- "Sobek" (x1)
- "Wadjet" (x1)
'system':
type: object
path: Ancient Osirian Gods.system
is_null: false
values: 13
schema:
'attribute':
type: array<string>
path: Ancient Osirian Gods.system.attribute
is_null: false
values: 13
min_count: 2
max_count: 2
value_type:
type: string
path: Ancient Osirian Gods.system.attribute.[]
is_null: false
values: 26
different_values: 6
variants:
- "cha" (x6)
- "wis" (x6)
- "str" (x5)
- "con" (x4)
- "dex" (x3)
- "int" (x2)
'category':
type: string
path: Ancient Osirian Gods.system.category
is_null: false
values: 13
different_values: 1 (all same)
variants: "deity" (x13)
'description':
type: object
path: Ancient Osirian Gods.system.description
is_null: false
values: 13
schema:
'value':
type: string
path: Ancient Osirian Gods.system.description.value
is_null: false
values: 13
different_values: 13 (all different)
variants: [omitted]
'domains':
type: object
path: Ancient Osirian Gods.system.domains
is_null: false
values: 13
schema:
'alternate':
type: array<string>
path: Ancient Osirian Gods.system.domains.alternate
is_null: false
values: 13
min_count: 0
max_count: 3
value_type:
type: string
path: Ancient Osirian Gods.system.domains.alternate.[]
is_null: false
values: 10
different_values: 10
variants:
- "healing" (x1)
- "creation" (x1)
- "trickery" (x1)
- "death" (x1)
- "protection" (x1)
- "zeal" (x1)
- "dust" (x1)
- "duty" (x1)
- "knowledge" (x1)
- "destruction" (x1)
'primary':
type: array<string>
path: Ancient Osirian Gods.system.domains.primary
is_null: false
values: 13
min_count: 4
max_count: 4
value_type:
type: string
path: Ancient Osirian Gods.system.domains.primary.[]
is_null: false
values: 52
different_values: 28
variants: [omitted]
'font':
type: array<string>
path: Ancient Osirian Gods.system.font
is_null: false
values: 13
min_count: 1
max_count: 2
value_type:
type: string
path: Ancient Osirian Gods.system.font.[]
is_null: false
values: 15
different_values: 2
variants:
- "heal" (x11)
- "harm" (x4)
'publication':
type: object
path: Ancient Osirian Gods.system.publication
is_null: false
values: 13
schema:
'license':
type: string
path: Ancient Osirian Gods.system.publication.license
is_null: false
values: 13
different_values: 1 (all same)
variants: "ORC" (x13)
'remaster':
type: boolean
path: Ancient Osirian Gods.system.publication.remaster
is_null: false
values: 13
different_values: 1 (all same)
variants: True (x13)
'title':
type: string
path: Ancient Osirian Gods.system.publication.title
is_null: false
values: 13
different_values: 1 (all same)
variants: "Pathfinder Lost Omens Divine Mysteries Web Supplement" (x13)
'rules':
type: ignored (Foundry rules object)
path: Ancient Osirian Gods.system.rules
is_null: false
values: 13
'sanctification':
type: object
path: Ancient Osirian Gods.system.sanctification
is_null: false
values: 13
schema:
'modal':
type: string
path: Ancient Osirian Gods.system.sanctification.modal
is_null: false
values: 13
different_values: 2
variants:
- "can" (x10)
- "must" (x3)
'what':
type: array<string>
path: Ancient Osirian Gods.system.sanctification.what
is_null: false
values: 13
min_count: 1
max_count: 2
value_type:
type: string
path: Ancient Osirian Gods.system.sanctification.what.[]
is_null: false
values: 15
different_values: 2
variants:
- "holy" (x12)
- "unholy" (x3)
'skill':
type: array<string>
path: Ancient Osirian Gods.system.skill
is_null: false
values: 13
min_count: 1
max_count: 1
value_type:
type: string
path: Ancient Osirian Gods.system.skill.[]
is_null: false
values: 13
different_values: 8
variants:
- "medicine" (x4)
- "intimidation" (x2)
- "performance" (x2)
- "deception" (x1)
- "survival" (x1)
- "crafting" (x1)
- "athletics" (x1)
- "nature" (x1)
'spells':
type: object
path: Ancient Osirian Gods.system.spells
is_null: false
values: 13
schema:
'1':
type: string
path: Ancient Osirian Gods.system.spells.1
is_null: false
values: 13
different_values: 11
variants:
- "Compendium.pf2e.spells-srd.Item.Sure Strike" (x2)
- "Compendium.pf2e.spells-srd.Item.Hydraulic Push" (x2)
- "Compendium.pf2e.spells-srd.Item.Grim Tendrils" (x1)
- "Compendium.pf2e.spells-srd.Item.Pest Form" (x1)
- "Compendium.pf2e.spells-srd.Item.Sleep" (x1)
- "Compendium.pf2e.spells-srd.Item.Charm" (x1)
- "Compendium.pf2e.spells-srd.Item.Flourishing Flora" (x1)
- "Compendium.pf2e.spells-srd.Item.Breathe Fire" (x1)
- "Compendium.pf2e.spells-srd.Item.Temporary Tool" (x1)
- "Compendium.pf2e.spells-srd.Item.Soothe" (x1)
- "Compendium.pf2e.spells-srd.Item.Penumbral Shroud" (x1)
[2]:
type: string
path: Ancient Osirian Gods.system.spells.2
is_null: true
values: 6
different_values: 6
variants:
- "Compendium.pf2e.spells-srd.Item.Laughing Fit" (x1)
- "Compendium.pf2e.spells-srd.Item.One with Plants" (x1)
- "Compendium.pf2e.spells-srd.Item.Floating Flame" (x1)
- "Compendium.pf2e.spells-srd.Item.Umbral Extraction" (x1)
- "Compendium.pf2e.spells-srd.Item.Vomit Swarm" (x1)
- "Compendium.pf2e.spells-srd.Item.Animal Form" (x1)
[3]:
type: string
path: Ancient Osirian Gods.system.spells.3
is_null: true
values: 6
different_values: 6
variants:
- "Compendium.pf2e.spells-srd.Item.Animal Vision" (x1)
- "Compendium.pf2e.spells-srd.Item.Enthrall" (x1)
- "Compendium.pf2e.spells-srd.Item.Elemental Absorption" (x1)
- "Compendium.pf2e.spells-srd.Item.Paralyze" (x1)
- "Compendium.pf2e.spells-srd.Item.Cup of Dust" (x1)
- "Compendium.pf2e.spells-srd.Item.Feet to Fins" (x1)
[4]:
type: string
path: Ancient Osirian Gods.system.spells.4
is_null: true
values: 6
different_values: 6
variants:
- "Compendium.pf2e.spells-srd.Item.Hydraulic Torrent" (x1)
- "Compendium.pf2e.spells-srd.Item.Peaceful Bubble" (x1)
- "Compendium.pf2e.spells-srd.Item.Aerial Form" (x1)
- "Compendium.pf2e.spells-srd.Item.Wall of Fire" (x1)
- "Compendium.pf2e.spells-srd.Item.Dinosaur Form" (x1)
- "Compendium.pf2e.spells-srd.Item.Reflective Scales" (x1)
[5]:
type: string
path: Ancient Osirian Gods.system.spells.5
is_null: true
values: 2
different_values: 2
variants:
- "Compendium.pf2e.spells-srd.Item.Control Water" (x1)
- "Compendium.pf2e.spells-srd.Item.Moon Frenzy" (x1)
[6]:
type: string
path: Ancient Osirian Gods.system.spells.6
is_null: true
values: 3
different_values: 3
variants:
- "Compendium.pf2e.spells-srd.Item.Arrow Salvo" (x1)
- "Compendium.pf2e.spells-srd.Item.Wall of Metal" (x1)
- "Compendium.pf2e.spells-srd.Item.Disintegrate" (x1)
[8]:
type: string
path: Ancient Osirian Gods.system.spells.8
is_null: true
values: 3
different_values: 3
variants:
- "Compendium.pf2e.spells-srd.Item.Monstrosity Form" (x1)
- "Compendium.pf2e.spells-srd.Item.Uncontrollable Dance" (x1)
- "Compendium.pf2e.spells-srd.Item.Ferrous Form" (x1)
'traits':
type: object
path: Ancient Osirian Gods.system.traits
is_null: false
values: 13
schema:
'weapons':
type: array<string>
path: Ancient Osirian Gods.system.weapons
is_null: false
values: 13
min_count: 1
max_count: 2
value_type:
type: string
path: Ancient Osirian Gods.system.weapons.[]
is_null: false
values: 15
different_values: 13 (all different)
variants:
- "claw" (x2)
- "light-mace" (x2)
- "dagger" (x1)
- "tekko-kagi" (x1)
- "mambele" (x1)
- "shortsword" (x1)
- "sling" (x1)
- "shortbow" (x1)
- "staff" (x1)
- "battle-axe" (x1)
- "whip" (x1)
- "spear" (x1)
- "falchion" (x1)
'type':
type: string
path: Ancient Osirian Gods.type
is_null: false
values: 13
different_values: 1 (all same)
variants: "deity" (x13)
+152
View File
@@ -0,0 +1,152 @@
name: Android
values: 5
schema:
'_id':
type: string
path: Android._id
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "VgL18yU7pysdoZZG" (x1)
- "Mmezbef0c1fbJaVV" (x1)
- "MQx7miBXUmOHycqJ" (x1)
- "BjuZKA7lzFSjKbif" (x1)
- "RuQSx0QsirIKxwKY" (x1)
'folder':
type: string
path: Android.folder
is_null: false
values: 5
different_values: 1 (all same)
variants: "SUr2V7rryBTohlSG" (x5)
'img':
type: string
path: Android.img
is_null: false
values: 5
different_values: 1 (all same)
variants: "systems/pf2e/icons/default-icons/heritage.svg" (x5)
'name':
type: string
path: Android.name
is_null: false
values: 5
different_values: 5 (all different)
variants:
- "Artisan Android" (x1)
- "Impersonator Android" (x1)
- "Laborer Android" (x1)
- "Polyglot Android" (x1)
- "Warrior Android" (x1)
'system':
type: object
path: Android.system
is_null: false
values: 5
schema:
'ancestry':
type: object
path: Android.system.ancestry
is_null: false
values: 5
schema:
'name':
type: string
path: Android.system.ancestry.name
is_null: false
values: 5
different_values: 1 (all same)
variants: "Android" (x5)
'slug':
type: string
path: Android.system.ancestry.slug
is_null: false
values: 5
different_values: 1 (all same)
variants: "android" (x5)
'uuid':
type: string
path: Android.system.ancestry.uuid
is_null: false
values: 5
different_values: 1 (all same)
variants: "Compendium.pf2e.ancestries.Item.GfLwE884NoRC7cRi" (x5)
'description':
type: object
path: Android.system.description
is_null: false
values: 5
schema:
'value':
type: string
path: Android.system.description.value
is_null: false
values: 5
different_values: 5 (all different)
variants: [omitted]
'publication':
type: object
path: Android.system.publication
is_null: false
values: 5
schema:
'license':
type: string
path: Android.system.publication.license
is_null: false
values: 5
different_values: 1 (all same)
variants: "OGL" (x5)
'remaster':
type: boolean
path: Android.system.publication.remaster
is_null: false
values: 5
different_values: 1 (all same)
variants: False (x5)
'title':
type: string
path: Android.system.publication.title
is_null: false
values: 5
different_values: 1 (all same)
variants: "Pathfinder Lost Omens Ancestry Guide" (x5)
'rules':
type: ignored (Foundry rules object)
path: Android.system.rules
is_null: false
values: 5
'traits':
type: object
path: Android.system.traits
is_null: false
values: 5
schema:
'rarity':
type: string
path: Android.system.traits.rarity
is_null: false
values: 5
different_values: 1 (all same)
variants: "common" (x5)
'value':
type: array<>
path: Android.system.traits.value
is_null: false
values: 5
min_count: 0
max_count: 0
value_type:
type:
path: Android.system.traits.value.[]
is_null: false
values: 0
is_empty: true
'type':
type: string
path: Android.type
is_null: false
values: 5
different_values: 1 (all same)
variants: "heritage" (x5)
+217
View File
@@ -0,0 +1,217 @@
name: Animal Trainer
values: 6
schema:
'_id':
type: string
path: Animal Trainer._id
is_null: false
values: 6
different_values: 6 (all different)
variants:
- "m3ANSHYfBrFyFUvo" (x1)
- "J8BSHRkmP3QLknwF" (x1)
- "rhVL28qFl760qJQe" (x1)
- "n3eOMWQd4kdR3A0l" (x1)
- "hdt3RHZljLrO49kq" (x1)
- "AvN95M5eVLLEu2qk" (x1)
'folder':
type: string
path: Animal Trainer.folder
is_null: false
values: 6
different_values: 1 (all same)
variants: "No8hXlgNF4OcRjqq" (x6)
'img':
type: string
path: Animal Trainer.img
is_null: false
values: 6
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x6)
'name':
type: string
path: Animal Trainer.name
is_null: false
values: 6
different_values: 6 (all different)
variants:
- "Animal Trainer Dedication" (x1)
- "Beast Speaker" (x1)
- "Insistent Command" (x1)
- "Mature Trained Companion" (x1)
- "Specialized Companion (Animal Trainer)" (x1)
- "Splendid Companion" (x1)
'system':
type: object
path: Animal Trainer.system
is_null: false
values: 6
schema:
'actionType':
type: object
path: Animal Trainer.system.actionType
is_null: false
values: 6
schema:
'value':
type: string
path: Animal Trainer.system.actionType.value
is_null: false
values: 6
different_values: 1 (all same)
variants: "passive" (x6)
'actions':
type: object
path: Animal Trainer.system.actions
is_null: false
values: 6
schema:
[value]:
type:
path: Animal Trainer.system.actions.value
is_null: true
values: 0
is_empty: true
'category':
type: string
path: Animal Trainer.system.category
is_null: false
values: 6
different_values: 2
variants:
- "class" (x5)
- "skill" (x1)
'description':
type: object
path: Animal Trainer.system.description
is_null: false
values: 6
schema:
'value':
type: string
path: Animal Trainer.system.description.value
is_null: false
values: 6
different_values: 6 (all different)
variants: [omitted]
'level':
type: object
path: Animal Trainer.system.level
is_null: false
values: 6
schema:
'value':
type: integer
path: Animal Trainer.system.level.value
is_null: false
values: 6
different_values: 6 (all different)
variants:
- 2 (x1)
- 4 (x1)
- 8 (x1)
- 6 (x1)
- 18 (x1)
- 12 (x1)
'prerequisites':
type: object
path: Animal Trainer.system.prerequisites
is_null: false
values: 6
schema:
'value':
type: array<object>
path: Animal Trainer.system.prerequisites.value
is_null: false
values: 6
min_count: 1
max_count: 2
value_type:
type: object
path: Animal Trainer.system.prerequisites.value.[]
is_null: false
values: 7
schema:
'value':
type: string
path: Animal Trainer.system.prerequisites.value.[].value
is_null: false
values: 7
different_values: 5
variants:
- "Animal Trainer Dedication" (x3)
- "Trained in Nature" (x1)
- "master in Nature" (x1)
- "Splendid Companion" (x1)
- "Mature Trained Companion" (x1)
'publication':
type: object
path: Animal Trainer.system.publication
is_null: false
values: 6
schema:
'license':
type: string
path: Animal Trainer.system.publication.license
is_null: false
values: 6
different_values: 1 (all same)
variants: "OGL" (x6)
'remaster':
type: boolean
path: Animal Trainer.system.publication.remaster
is_null: false
values: 6
different_values: 1 (all same)
variants: False (x6)
'title':
type: string
path: Animal Trainer.system.publication.title
is_null: false
values: 6
different_values: 1 (all same)
variants: "Pathfinder #152: Legacy of the Lost God" (x6)
'rules':
type: ignored (Foundry rules object)
path: Animal Trainer.system.rules
is_null: false
values: 6
'traits':
type: object
path: Animal Trainer.system.traits
is_null: false
values: 6
schema:
'rarity':
type: string
path: Animal Trainer.system.traits.rarity
is_null: false
values: 6
different_values: 2
variants:
- "uncommon" (x5)
- "common" (x1)
'value':
type: array<string>
path: Animal Trainer.system.traits.value
is_null: false
values: 6
min_count: 1
max_count: 2
value_type:
type: string
path: Animal Trainer.system.traits.value.[]
is_null: false
values: 8
different_values: 3
variants:
- "archetype" (x6)
- "dedication" (x1)
- "skill" (x1)
'type':
type: string
path: Animal Trainer.type
is_null: false
values: 6
different_values: 1 (all same)
variants: "feat" (x6)
+275
View File
@@ -0,0 +1,275 @@
name: Animist
values: 36
schema:
'_id':
type: string
path: Animist._id
is_null: false
values: 36
different_values: 36 (all different)
variants: [omitted]
'folder':
type: string
path: Animist.folder
is_null: false
values: 36
different_values: 1 (all same)
variants: "JlgZkCIuBBoJ6clt" (x36)
'img':
type: string
path: Animist.img
is_null: false
values: 36
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x36)
'name':
type: string
path: Animist.name
is_null: false
values: 36
different_values: 36 (all different)
variants: [omitted]
'system':
type: object
path: Animist.system
is_null: false
values: 36
schema:
'actionType':
type: object
path: Animist.system.actionType
is_null: false
values: 36
schema:
'value':
type: string
path: Animist.system.actionType.value
is_null: false
values: 36
different_values: 4
variants:
- "action" (x14)
- "passive" (x13)
- "free" (x5)
- "reaction" (x4)
'actions':
type: object
path: Animist.system.actions
is_null: false
values: 36
schema:
[value]:
type: integer
path: Animist.system.actions.value
is_null: true
values: 14
different_values: 2
variants:
- 1 (x11)
- 2 (x3)
'category':
type: string
path: Animist.system.category
is_null: false
values: 36
different_values: 1 (all same)
variants: "class" (x36)
'description':
type: object
path: Animist.system.description
is_null: false
values: 36
schema:
'value':
type: string
path: Animist.system.description.value
is_null: false
values: 36
different_values: 36 (all different)
variants: [omitted]
'level':
type: object
path: Animist.system.level
is_null: false
values: 36
schema:
'value':
type: integer
path: Animist.system.level.value
is_null: false
values: 36
different_values: 11
variants:
- 1 (x5)
- 6 (x5)
- 8 (x4)
- 16 (x4)
- 12 (x3)
- 4 (x3)
- 10 (x3)
- 2 (x3)
- 14 (x2)
- 18 (x2)
- 20 (x2)
'prerequisites':
type: object
path: Animist.system.prerequisites
is_null: false
values: 36
schema:
'value':
type: array<object>
path: Animist.system.prerequisites.value
is_null: false
values: 36
min_count: 0
max_count: 1
value_type:
type: object
path: Animist.system.prerequisites.value.[]
is_null: false
values: 7
schema:
'value':
type: string
path: Animist.system.prerequisites.value.[].value
is_null: false
values: 7
different_values: 7
variants:
- "Spirit Familiar" (x1)
- "Channeler's Stance" (x1)
- "liturgist practice, at least one animist stance" (x1)
- "Enhanced Familiar" (x1)
- "Relinquish Control" (x1)
- "Apparition Sense" (x1)
- "Walk the Wilds" (x1)
'publication':
type: object
path: Animist.system.publication
is_null: false
values: 36
schema:
'license':
type: string
path: Animist.system.publication.license
is_null: false
values: 36
different_values: 1 (all same)
variants: "ORC" (x36)
'remaster':
type: boolean
path: Animist.system.publication.remaster
is_null: false
values: 36
different_values: 1 (all same)
variants: True (x36)
'title':
type: string
path: Animist.system.publication.title
is_null: false
values: 36
different_values: 1 (all same)
variants: "Pathfinder War of Immortals" (x36)
'rules':
type: ignored (Foundry rules object)
path: Animist.system.rules
is_null: false
values: 36
'traits':
type: object
path: Animist.system.traits
is_null: false
values: 36
schema:
'rarity':
type: string
path: Animist.system.traits.rarity
is_null: false
values: 36
different_values: 1 (all same)
variants: "common" (x36)
'value':
type: array<string>
path: Animist.system.traits.value
is_null: false
values: 36
min_count: 1
max_count: 5
value_type:
type: string
path: Animist.system.traits.value.[]
is_null: false
values: 106
different_values: 12
variants:
- "animist" (x36)
- "apparition" (x25)
- "wandering" (x12)
- "divine" (x12)
- "concentrate" (x5)
- "spellshape" (x4)
- "stance" (x4)
- "misfortune" (x3)
- "aura" (x2)
- "spirit" (x1)
- "fire" (x1)
- "exploration" (x1)
[frequency]:
type: object
path: Animist.system.frequency
is_null: true
values: 9
schema:
'max':
type: integer
path: Animist.system.frequency.max
is_null: false
values: 9
different_values: 1 (all same)
variants: 1 (x9)
'per':
type: string
path: Animist.system.frequency.per
is_null: false
values: 9
different_values: 5
variants:
- "PT10M" (x3)
- "round" (x2)
- "PT1H" (x2)
- "turn" (x1)
- "P1W" (x1)
[selfEffect]:
type: object
path: Animist.system.selfEffect
is_null: true
values: 3
schema:
'name':
type: string
path: Animist.system.selfEffect.name
is_null: false
values: 3
different_values: 3
variants:
- "Effect: Apparition's Enhancement" (x1)
- "Effect: Channeler's Stance" (x1)
- "Effect: Fly on Shadowed Wings" (x1)
'uuid':
type: string
path: Animist.system.selfEffect.uuid
is_null: false
values: 3
different_values: 3
variants:
- "Compendium.pf2e.feat-effects.Item.Effect: Apparition's Enhancement" (x1)
- "Compendium.pf2e.feat-effects.Item.Effect: Channeler's Stance" (x1)
- "Compendium.pf2e.feat-effects.Item.Effect: Fly on Shadowed Wings" (x1)
'type':
type: string
path: Animist.type
is_null: false
values: 36
different_values: 1 (all same)
variants: "feat" (x36)
+286
View File
@@ -0,0 +1,286 @@
name: Apocalypse Rider
values: 16
schema:
'_id':
type: string
path: Apocalypse Rider._id
is_null: false
values: 16
different_values: 16 (all different)
variants:
- "dpkGYM2QObR5QbBH" (x1)
- "oO8Cj1PmuoKuwpit" (x1)
- "ad5MsrMMu721NH59" (x1)
- "faIuxgeMG60cEa9J" (x1)
- "T0LazeBYiLnUzQXC" (x1)
- "Nn2vUOpKJpr6ps89" (x1)
- "tuhEOBeX0sVnRoWH" (x1)
- "4F7suRtLfcurHqFI" (x1)
- "XHbdG50JIO8pEaQ4" (x1)
- "otELTaTnOCea7DZw" (x1)
- "O0YJxlWgO1BPX7w5" (x1)
- "drcZf55HVsTnnTcF" (x1)
- "Kb28vpCQNvA6wS1O" (x1)
- "1fH3M3XaUWWOJZFM" (x1)
- "fns6SMiYrUeL6cnx" (x1)
- "hmpkzEQV6kTFxPan" (x1)
'folder':
type: string
path: Apocalypse Rider.folder
is_null: false
values: 16
different_values: 1 (all same)
variants: "PQJSFayS5vD5aZpa" (x16)
'img':
type: string
path: Apocalypse Rider.img
is_null: false
values: 16
different_values: 1 (all same)
variants: "icons/sundries/books/book-red-exclamation.webp" (x16)
'name':
type: string
path: Apocalypse Rider.name
is_null: false
values: 16
different_values: 16 (all different)
variants:
- "Apocalypse Rider Dedication" (x1)
- "Behold, a Pale Horse" (x1)
- "Contagious Spell" (x1)
- "Deathless Servant" (x1)
- "History of Violence" (x1)
- "Immortal Ruin" (x1)
- "Jousting Mount" (x1)
- "Memory of Nothing" (x1)
- "Night Terror" (x1)
- "One Among the Masses" (x1)
- "Putrefaction" (x1)
- "Soul Vessel Mount" (x1)
- "Steal Death" (x1)
- "To War!" (x1)
- "Virulent Strike" (x1)
- "Wither Away" (x1)
'system':
type: object
path: Apocalypse Rider.system
is_null: false
values: 16
schema:
'actionType':
type: object
path: Apocalypse Rider.system.actionType
is_null: false
values: 16
schema:
'value':
type: string
path: Apocalypse Rider.system.actionType.value
is_null: false
values: 16
different_values: 3
variants:
- "passive" (x8)
- "action" (x7)
- "reaction" (x1)
'actions':
type: object
path: Apocalypse Rider.system.actions
is_null: false
values: 16
schema:
[value]:
type: integer
path: Apocalypse Rider.system.actions.value
is_null: true
values: 7
different_values: 3
variants:
- 2 (x4)
- 1 (x2)
- 3 (x1)
'category':
type: string
path: Apocalypse Rider.system.category
is_null: false
values: 16
different_values: 2
variants:
- "class" (x14)
- "classfeature" (x2)
'description':
type: object
path: Apocalypse Rider.system.description
is_null: false
values: 16
schema:
'value':
type: string
path: Apocalypse Rider.system.description.value
is_null: false
values: 16
different_values: 16 (all different)
variants: [omitted]
'level':
type: object
path: Apocalypse Rider.system.level
is_null: false
values: 16
schema:
'value':
type: integer
path: Apocalypse Rider.system.level.value
is_null: false
values: 16
different_values: 5
variants:
- 14 (x5)
- 16 (x5)
- 18 (x4)
- 12 (x1)
- 20 (x1)
'prerequisites':
type: object
path: Apocalypse Rider.system.prerequisites
is_null: false
values: 16
schema:
'value':
type: array<object>
path: Apocalypse Rider.system.prerequisites.value
is_null: false
values: 16
min_count: 0
max_count: 1
value_type:
type: object
path: Apocalypse Rider.system.prerequisites.value.[]
is_null: false
values: 15
schema:
'value':
type: string
path: Apocalypse Rider.system.prerequisites.value.[].value
is_null: false
values: 15
different_values: 1 (all same)
variants: "Apocalypse Rider Dedication" (x15)
'publication':
type: object
path: Apocalypse Rider.system.publication
is_null: false
values: 16
schema:
'license':
type: string
path: Apocalypse Rider.system.publication.license
is_null: false
values: 16
different_values: 1 (all same)
variants: "ORC" (x16)
'remaster':
type: boolean
path: Apocalypse Rider.system.publication.remaster
is_null: false
values: 16
different_values: 1 (all same)
variants: True (x16)
'title':
type: string
path: Apocalypse Rider.system.publication.title
is_null: false
values: 16
different_values: 1 (all same)
variants: "Pathfinder War of Immortals" (x16)
'rules':
type: ignored (Foundry rules object)
path: Apocalypse Rider.system.rules
is_null: false
values: 16
'traits':
type: object
path: Apocalypse Rider.system.traits
is_null: false
values: 16
schema:
[otherTags]:
type: array<string>
path: Apocalypse Rider.system.traits.otherTags
is_null: true
values: 1
min_count: 1
max_count: 1
value_type:
type: string
path: Apocalypse Rider.system.traits.otherTags.[]
is_null: false
values: 1
different_values: 1 (all same)
variants: "apocalypse-rider-dedication" (x1)
'rarity':
type: string
path: Apocalypse Rider.system.traits.rarity
is_null: false
values: 16
different_values: 2
variants:
- "common" (x14)
- "uncommon" (x2)
'value':
type: array<string>
path: Apocalypse Rider.system.traits.value
is_null: false
values: 16
min_count: 1
max_count: 4
value_type:
type: string
path: Apocalypse Rider.system.traits.value.[]
is_null: false
values: 29
different_values: 10
variants:
- "mythic" (x16)
- "concentrate" (x3)
- "void" (x2)
- "manipulate" (x2)
- "destiny" (x1)
- "spellshape" (x1)
- "healing" (x1)
- "mental" (x1)
- "death" (x1)
- "flourish" (x1)
[frequency]:
type: object
path: Apocalypse Rider.system.frequency
is_null: true
values: 3
schema:
'max':
type: integer
path: Apocalypse Rider.system.frequency.max
is_null: false
values: 3
different_values: 1 (all same)
variants: 1 (x3)
'per':
type: string
path: Apocalypse Rider.system.frequency.per
is_null: false
values: 3
different_values: 1 (all same)
variants: "PT10M" (x3)
[maxTakable]:
type: integer
path: Apocalypse Rider.system.maxTakable
is_null: true
values: 1
different_values: 1 (all same)
variants: 3 (x1)
'type':
type: string
path: Apocalypse Rider.type
is_null: false
values: 16
different_values: 1 (all same)
variants: "feat" (x16)

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