Структура подклассов
This commit is contained in:
+49
-5
@@ -12,20 +12,59 @@ internal class AonprdSchemaBuilder(AonprdLoader loader)
|
|||||||
|
|
||||||
// public readonly AonprdSchemaTypeResolver Resolver = new();
|
// public readonly AonprdSchemaTypeResolver Resolver = new();
|
||||||
|
|
||||||
public readonly Dictionary<string, SchemaNode> Schemas = [];
|
public readonly Dictionary<string, SchemaNode> Schemas = new()
|
||||||
|
{
|
||||||
|
{ "_subclass", new SchemaNode {Path = "_subclass"} }
|
||||||
|
};
|
||||||
|
|
||||||
|
private string[] _subclassSchemaTypes =
|
||||||
|
[
|
||||||
|
"research-field",
|
||||||
|
"apparition",
|
||||||
|
"practice",
|
||||||
|
"instinct",
|
||||||
|
"muse",
|
||||||
|
"cause",
|
||||||
|
"tenet",
|
||||||
|
"doctrine",
|
||||||
|
"druidic-order",
|
||||||
|
"methodology",
|
||||||
|
"element",
|
||||||
|
"hybrid-study",
|
||||||
|
"mystery",
|
||||||
|
"conscious-mind",
|
||||||
|
"subconscious-mind",
|
||||||
|
"hunters-edge",
|
||||||
|
"racket",
|
||||||
|
"bloodline",
|
||||||
|
"style",
|
||||||
|
"implement",
|
||||||
|
"lesson",
|
||||||
|
"patron",
|
||||||
|
"arcane-school",
|
||||||
|
"arcane-thesis",
|
||||||
|
"way",
|
||||||
|
"innovation",
|
||||||
|
"ikon",
|
||||||
|
"epithet",
|
||||||
|
];
|
||||||
|
|
||||||
private SchemaNode GetSchema(AonprdLoader.LoaderEntry entry)
|
private SchemaNode GetSchema(AonprdLoader.LoaderEntry entry)
|
||||||
{
|
{
|
||||||
string key = entry.Type;
|
string key = entry.Type;
|
||||||
if (!Schemas.TryGetValue(key, out SchemaNode? value))
|
|
||||||
|
if (Schemas.TryGetValue(key, out SchemaNode? value))
|
||||||
{
|
{
|
||||||
value = new SchemaNode()
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
value = new SchemaNode
|
||||||
{
|
{
|
||||||
// Resolver = Resolver,
|
// Resolver = Resolver,
|
||||||
Path = key,
|
Path = key,
|
||||||
};
|
};
|
||||||
Schemas[key] = value;
|
Schemas[key] = value;
|
||||||
}
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,13 +72,18 @@ internal class AonprdSchemaBuilder(AonprdLoader loader)
|
|||||||
{
|
{
|
||||||
Console.WriteLine("Building schemas...");
|
Console.WriteLine("Building schemas...");
|
||||||
|
|
||||||
ProgressBar bar = new ProgressBar(Loader.ItemCount);
|
ProgressBar bar = new(Loader.ItemCount);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
foreach (AonprdLoader.LoaderEntry entry in Loader.Entries())
|
foreach (AonprdLoader.LoaderEntry entry in Loader.Entries())
|
||||||
{
|
{
|
||||||
bar.Refresh(i++, entry.Type);
|
bar.Refresh(i++, entry.Type);
|
||||||
GetSchema(entry).AddValue(entry.Json);
|
GetSchema(entry).AddValue(entry.Json);
|
||||||
|
|
||||||
|
if (_subclassSchemaTypes.Contains(entry.Type))
|
||||||
|
{
|
||||||
|
Schemas["_subclass"].AddValue(entry.Json);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bar.Refresh(Loader.ItemCount, "Done!");
|
bar.Refresh(Loader.ItemCount, "Done!");
|
||||||
|
|||||||
@@ -11,4 +11,5 @@ Pf2EFoundryImporter importer = new();
|
|||||||
|
|
||||||
AonprdImporter importer = new();
|
AonprdImporter importer = new();
|
||||||
importer.Prepare();
|
importer.Prepare();
|
||||||
importer.Import();
|
// importer.Import();
|
||||||
|
importer.BuildSchemas();
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Pf2eModel.Model.Base;
|
||||||
|
using Pf2eModel.Model.Common.I18n;
|
||||||
|
|
||||||
|
namespace Pf2eModel.Model.Structure;
|
||||||
|
|
||||||
|
public class Subclass : IEntity
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 1)]
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
public Entity Entity { get; set; } = null!;
|
||||||
|
|
||||||
|
[Column(Order = 2)]
|
||||||
|
public int? ClassId { get; set; } = null;
|
||||||
|
|
||||||
|
public Class? Class { get; set; } = null!;
|
||||||
|
|
||||||
|
[Column(Order = 3)]
|
||||||
|
public LocaleString Additional { get; set; } = null!;
|
||||||
|
|
||||||
|
public string Extra { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,221 @@
|
|||||||
|
name: _subclass
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[attribute]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.attribute
|
||||||
|
is_null: true
|
||||||
|
values: 4
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.attribute.[]
|
||||||
|
is_null: false
|
||||||
|
values: 4
|
||||||
|
different_values: 2
|
||||||
|
variants:
|
||||||
|
- "Charisma" (x2)
|
||||||
|
- "Intelligence" (x2)
|
||||||
|
[bloodline_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.bloodline_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 27
|
||||||
|
different_values: 17
|
||||||
|
variants:
|
||||||
|
- "Aberrant" (x2)
|
||||||
|
- "Angelic" (x2)
|
||||||
|
- "Demonic" (x2)
|
||||||
|
- "Diabolic" (x2)
|
||||||
|
- "Draconic" (x2)
|
||||||
|
- "Elemental" (x2)
|
||||||
|
- "Fey" (x2)
|
||||||
|
- "Hag" (x2)
|
||||||
|
- "Imperial" (x2)
|
||||||
|
- "Undead" (x2)
|
||||||
|
- "Genie" (x1)
|
||||||
|
- "Nymph" (x1)
|
||||||
|
- "Psychopomp" (x1)
|
||||||
|
- "Shadow" (x1)
|
||||||
|
- "Phoenix" (x1)
|
||||||
|
- "Wyrmblessed" (x1)
|
||||||
|
- "Harrow" (x1)
|
||||||
|
'resistance':
|
||||||
|
type: object
|
||||||
|
path: _subclass.resistance
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[alignment]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.alignment
|
||||||
|
is_null: true
|
||||||
|
values: 6
|
||||||
|
different_values: 6
|
||||||
|
variants:
|
||||||
|
- "LG" (x1)
|
||||||
|
- "NG" (x1)
|
||||||
|
- "CG" (x1)
|
||||||
|
- "LE" (x1)
|
||||||
|
- "NE" (x1)
|
||||||
|
- "CE" (x1)
|
||||||
|
[element]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.element
|
||||||
|
is_null: true
|
||||||
|
values: 6
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.element.[]
|
||||||
|
is_null: false
|
||||||
|
values: 6
|
||||||
|
different_values: 6
|
||||||
|
variants:
|
||||||
|
- "Air" (x1)
|
||||||
|
- "Earth" (x1)
|
||||||
|
- "Fire" (x1)
|
||||||
|
- "Metal" (x1)
|
||||||
|
- "Water" (x1)
|
||||||
|
- "Wood" (x1)
|
||||||
|
[lesson_type]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.lesson_type
|
||||||
|
is_null: true
|
||||||
|
values: 29
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- "Greater" (x12)
|
||||||
|
- "Basic" (x11)
|
||||||
|
- "Major" (x6)
|
||||||
|
[level]:
|
||||||
|
type: integer
|
||||||
|
path: _subclass.level
|
||||||
|
is_null: true
|
||||||
|
values: 16
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- 3 (x6)
|
||||||
|
- 7 (x6)
|
||||||
|
- 15 (x4)
|
||||||
|
'speed':
|
||||||
|
type: object
|
||||||
|
path: _subclass.speed
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[domain]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.domain
|
||||||
|
is_null: true
|
||||||
|
values: 21
|
||||||
|
min_count: 2
|
||||||
|
max_count: 4
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.domain.[]
|
||||||
|
is_null: false
|
||||||
|
values: 64
|
||||||
|
different_values: 33
|
||||||
|
variants: [omitted]
|
||||||
|
[pfs]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.pfs
|
||||||
|
is_null: true
|
||||||
|
values: 315
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- "Standard" (x308)
|
||||||
|
- "Limited" (x5)
|
||||||
|
- "Restricted" (x2)
|
||||||
|
[skill_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.skill_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 58
|
||||||
|
different_values: 28
|
||||||
|
variants: [omitted]
|
||||||
|
[spell_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.spell_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 85
|
||||||
|
different_values: 77
|
||||||
|
variants: [omitted]
|
||||||
|
[summary_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.summary_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 297
|
||||||
|
different_values: 277
|
||||||
|
variants: [omitted]
|
||||||
|
[tradition]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.tradition
|
||||||
|
is_null: true
|
||||||
|
values: 52
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.tradition.[]
|
||||||
|
is_null: false
|
||||||
|
values: 52
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "Occult" (x17)
|
||||||
|
- "Primal" (x15)
|
||||||
|
- "Divine" (x14)
|
||||||
|
- "Arcane" (x6)
|
||||||
|
'type':
|
||||||
|
type: string
|
||||||
|
path: _subclass.type
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 32
|
||||||
|
variants: [omitted]
|
||||||
|
'weakness':
|
||||||
|
type: object
|
||||||
|
path: _subclass.weakness
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[tradition_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.tradition_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 26
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "[Occult](/SpellLists.aspx?Tradition=3)" (x11)
|
||||||
|
- "[Primal](/SpellLists.aspx?Tradition=4)" (x9)
|
||||||
|
- "[Divine](/SpellLists.aspx?Tradition=2)" (x4)
|
||||||
|
- "[Arcane](/SpellLists.aspx?Tradition=1)" (x2)
|
||||||
|
[usage_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.usage_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 21
|
||||||
|
different_values: 19
|
||||||
|
variants:
|
||||||
|
- "imbued in the skin" (x2)
|
||||||
|
- "a ranged weapon" (x2)
|
||||||
|
- "worn anklets, bracers, or circlet (often a headband)" (x1)
|
||||||
|
- "melee weapon that deals slashing or piercing damage" (x1)
|
||||||
|
- "worn bracers" (x1)
|
||||||
|
- "imbued on the face" (x1)
|
||||||
|
- "imbued in the eyes" (x1)
|
||||||
|
- "a weapon in the [sword](/WeaponGroups.aspx?ID=15) or [knife](/WeaponGroups.aspx?ID=9) group, or a melee unarmed attack that deals slashing damage" (x1)
|
||||||
|
- "a melee [free-hand](/Traits.aspx?ID=613) weapon or a melee [unarmed](/Traits.aspx?ID=719) Strike" (x1)
|
||||||
|
- "a wallet, bag, or similar container of 1 Bulk you can wear on your body" (x1)
|
||||||
|
- "any [shield](/WeaponGroups.aspx?ID=12)" (x1)
|
||||||
|
- "a [sickle](/Weapons.aspx?ID=364) or any weapon from the [axe](/WeaponGroups.aspx?ID=1), [flail](/WeaponGroups.aspx?ID=7), or [polearm](/WeaponGroups.aspx?ID=11) group" (x1)
|
||||||
|
- "a [staff](/Weapons.aspx?ID=367), [bo staff](/Weapons.aspx?ID=372), [fighting stick](/Weapons.aspx?ID=168), [khakkara](/Weapons.aspx?ID=412), or any weapon in the [spear](/WeaponGroups.aspx?ID=14) or [polearm](/WeaponGroups.aspx?ID=11) weapon group" (x1)
|
||||||
|
- "worn cloak or belt" (x1)
|
||||||
|
- "a holster or sheath shaped for a one-handed [thrown](/Traits.aspx?ID=711) weapon of light Bulk or less" (x1)
|
||||||
|
- "worn belt" (x1)
|
||||||
|
- "worn shoes" (x1)
|
||||||
|
- "any melee weapon in the [club](/WeaponGroups.aspx?ID=5), [hammer](/WeaponGroups.aspx?ID=8), or [axe](/WeaponGroups.aspx?ID=1) group, or any your melee [unarmed](/Traits.aspx?ID=719) [Strikes](/Rules.aspx?ID=2895) that deals bludgeoning damage" (x1)
|
||||||
|
- "worn headwear or belt (typically a sash)" (x1)
|
||||||
@@ -50,7 +50,7 @@ schema:
|
|||||||
variants:
|
variants:
|
||||||
- 2 (x18)
|
- 2 (x18)
|
||||||
- 1 (x15)
|
- 1 (x15)
|
||||||
- 0.1 (x7)
|
- 0,1 (x7)
|
||||||
- 3 (x6)
|
- 3 (x6)
|
||||||
- 4 (x4)
|
- 4 (x4)
|
||||||
- 5 (x3)
|
- 5 (x3)
|
||||||
|
|||||||
@@ -8,20 +8,20 @@ schema:
|
|||||||
values: 32
|
values: 32
|
||||||
different_values: 14
|
different_values: 14
|
||||||
variants:
|
variants:
|
||||||
- 3.3 (x5)
|
- 3,3 (x5)
|
||||||
- 3.7 (x4)
|
- 3,7 (x4)
|
||||||
- 3.5 (x4)
|
- 3,5 (x4)
|
||||||
- 4.4 (x4)
|
- 4,4 (x4)
|
||||||
- 2.2 (x3)
|
- 2,2 (x3)
|
||||||
- 3.2 (x2)
|
- 3,2 (x2)
|
||||||
- 2.1 (x2)
|
- 2,1 (x2)
|
||||||
- 4.1 (x2)
|
- 4,1 (x2)
|
||||||
- 1.3 (x1)
|
- 1,3 (x1)
|
||||||
- 1.6 (x1)
|
- 1,6 (x1)
|
||||||
- 2.6 (x1)
|
- 2,6 (x1)
|
||||||
- 1.2 (x1)
|
- 1,2 (x1)
|
||||||
- 2.5 (x1)
|
- 2,5 (x1)
|
||||||
- 1.7 (x1)
|
- 1,7 (x1)
|
||||||
'bulk_raw':
|
'bulk_raw':
|
||||||
type: string
|
type: string
|
||||||
path: class-kit.bulk_raw
|
path: class-kit.bulk_raw
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ schema:
|
|||||||
values: 816
|
values: 816
|
||||||
different_values: 10
|
different_values: 10
|
||||||
variants:
|
variants:
|
||||||
- 0.1 (x370)
|
- 0,1 (x370)
|
||||||
- 0 (x287)
|
- 0 (x287)
|
||||||
- 1 (x97)
|
- 1 (x97)
|
||||||
- 2 (x40)
|
- 2 (x40)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ schema:
|
|||||||
values: 2776
|
values: 2776
|
||||||
different_values: 11
|
different_values: 11
|
||||||
variants:
|
variants:
|
||||||
- 0.1 (x1267)
|
- 0,1 (x1267)
|
||||||
- 0 (x1021)
|
- 0 (x1021)
|
||||||
- 1 (x384)
|
- 1 (x384)
|
||||||
- 2 (x64)
|
- 2 (x64)
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ schema:
|
|||||||
different_values: 14
|
different_values: 14
|
||||||
variants:
|
variants:
|
||||||
- 0 (x1430)
|
- 0 (x1430)
|
||||||
- 0.1 (x1398)
|
- 0,1 (x1398)
|
||||||
- 1 (x436)
|
- 1 (x436)
|
||||||
- 2 (x134)
|
- 2 (x134)
|
||||||
- 3 (x32)
|
- 3 (x32)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ schema:
|
|||||||
different_values: 5
|
different_values: 5
|
||||||
variants:
|
variants:
|
||||||
- 1 (x14)
|
- 1 (x14)
|
||||||
- 0.1 (x2)
|
- 0,1 (x2)
|
||||||
- 4 (x2)
|
- 4 (x2)
|
||||||
- 5 (x1)
|
- 5 (x1)
|
||||||
- 2 (x1)
|
- 2 (x1)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ schema:
|
|||||||
variants:
|
variants:
|
||||||
- 2 (x9)
|
- 2 (x9)
|
||||||
- 1 (x6)
|
- 1 (x6)
|
||||||
- 0.1 (x3)
|
- 0,1 (x3)
|
||||||
[level]:
|
[level]:
|
||||||
type: integer
|
type: integer
|
||||||
path: weapon-sub.level
|
path: weapon-sub.level
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ schema:
|
|||||||
values: 450
|
values: 450
|
||||||
different_values: 5
|
different_values: 5
|
||||||
variants:
|
variants:
|
||||||
- 0.1 (x169)
|
- 0,1 (x169)
|
||||||
- 1 (x155)
|
- 1 (x155)
|
||||||
- 2 (x103)
|
- 2 (x103)
|
||||||
- 0 (x19)
|
- 0 (x19)
|
||||||
|
|||||||
@@ -0,0 +1,458 @@
|
|||||||
|
name: _subclass
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[attribute]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.attribute
|
||||||
|
is_null: true
|
||||||
|
values: 4
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.attribute.[]
|
||||||
|
is_null: false
|
||||||
|
values: 4
|
||||||
|
different_values: 2
|
||||||
|
variants:
|
||||||
|
- "Charisma" (x2)
|
||||||
|
- "Intelligence" (x2)
|
||||||
|
[bloodline_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.bloodline_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 27
|
||||||
|
different_values: 17
|
||||||
|
variants:
|
||||||
|
- "Aberrant" (x2)
|
||||||
|
- "Angelic" (x2)
|
||||||
|
- "Demonic" (x2)
|
||||||
|
- "Diabolic" (x2)
|
||||||
|
- "Draconic" (x2)
|
||||||
|
- "Elemental" (x2)
|
||||||
|
- "Fey" (x2)
|
||||||
|
- "Hag" (x2)
|
||||||
|
- "Imperial" (x2)
|
||||||
|
- "Undead" (x2)
|
||||||
|
- "Genie" (x1)
|
||||||
|
- "Nymph" (x1)
|
||||||
|
- "Psychopomp" (x1)
|
||||||
|
- "Shadow" (x1)
|
||||||
|
- "Phoenix" (x1)
|
||||||
|
- "Wyrmblessed" (x1)
|
||||||
|
- "Harrow" (x1)
|
||||||
|
'resistance':
|
||||||
|
type: object
|
||||||
|
path: _subclass.resistance
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
'search_markdown':
|
||||||
|
type: string
|
||||||
|
path: _subclass.search_markdown
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 304
|
||||||
|
variants: [omitted]
|
||||||
|
'source':
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.source
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.source.[]
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 22
|
||||||
|
variants: [omitted]
|
||||||
|
[alignment]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.alignment
|
||||||
|
is_null: true
|
||||||
|
values: 6
|
||||||
|
different_values: 6
|
||||||
|
variants:
|
||||||
|
- "LG" (x1)
|
||||||
|
- "NG" (x1)
|
||||||
|
- "CG" (x1)
|
||||||
|
- "LE" (x1)
|
||||||
|
- "NE" (x1)
|
||||||
|
- "CE" (x1)
|
||||||
|
'rarity_id':
|
||||||
|
type: integer
|
||||||
|
path: _subclass.rarity_id
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- 1 (x317)
|
||||||
|
- 3 (x7)
|
||||||
|
- 2 (x2)
|
||||||
|
[element]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.element
|
||||||
|
is_null: true
|
||||||
|
values: 6
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.element.[]
|
||||||
|
is_null: false
|
||||||
|
values: 6
|
||||||
|
different_values: 6
|
||||||
|
variants:
|
||||||
|
- "Air" (x1)
|
||||||
|
- "Earth" (x1)
|
||||||
|
- "Fire" (x1)
|
||||||
|
- "Metal" (x1)
|
||||||
|
- "Water" (x1)
|
||||||
|
- "Wood" (x1)
|
||||||
|
'id':
|
||||||
|
type: string
|
||||||
|
path: _subclass.id
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 326 (all different)
|
||||||
|
variants: [omitted]
|
||||||
|
'primary_source_category':
|
||||||
|
type: string
|
||||||
|
path: _subclass.primary_source_category
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "Rulebooks" (x297)
|
||||||
|
- "Lost Omens" (x24)
|
||||||
|
- "Adventure Paths" (x4)
|
||||||
|
- "Adventures" (x1)
|
||||||
|
[legacy_id]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.legacy_id
|
||||||
|
is_null: true
|
||||||
|
values: 87
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.legacy_id.[]
|
||||||
|
is_null: false
|
||||||
|
values: 87
|
||||||
|
different_values: 87
|
||||||
|
variants: [omitted]
|
||||||
|
'name':
|
||||||
|
type: string
|
||||||
|
path: _subclass.name
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 251
|
||||||
|
variants: [omitted]
|
||||||
|
[lesson_type]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.lesson_type
|
||||||
|
is_null: true
|
||||||
|
values: 29
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- "Greater" (x12)
|
||||||
|
- "Basic" (x11)
|
||||||
|
- "Major" (x6)
|
||||||
|
'markdown':
|
||||||
|
type: string
|
||||||
|
path: _subclass.markdown
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 326 (all different)
|
||||||
|
variants: [omitted]
|
||||||
|
[level]:
|
||||||
|
type: integer
|
||||||
|
path: _subclass.level
|
||||||
|
is_null: true
|
||||||
|
values: 16
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- 3 (x6)
|
||||||
|
- 7 (x6)
|
||||||
|
- 15 (x4)
|
||||||
|
[primary_source_group]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.primary_source_group
|
||||||
|
is_null: true
|
||||||
|
values: 5
|
||||||
|
different_values: 5
|
||||||
|
variants:
|
||||||
|
- "Blood Lords" (x1)
|
||||||
|
- "Prey for Death" (x1)
|
||||||
|
- "Strength of Thousands" (x1)
|
||||||
|
- "Fists of the Ruby Phoenix" (x1)
|
||||||
|
- "Stolen Fate" (x1)
|
||||||
|
'rarity':
|
||||||
|
type: string
|
||||||
|
path: _subclass.rarity
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- "common" (x317)
|
||||||
|
- "rare" (x7)
|
||||||
|
- "uncommon" (x2)
|
||||||
|
'release_date':
|
||||||
|
type: string
|
||||||
|
path: _subclass.release_date
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 19
|
||||||
|
variants:
|
||||||
|
- "2024-10-30" (x55)
|
||||||
|
- "2020-07-30" (x50)
|
||||||
|
- "2019-08-01" (x50)
|
||||||
|
- "2023-11-15" (x46)
|
||||||
|
- "2024-08-01" (x45)
|
||||||
|
- "2022-07-27" (x23)
|
||||||
|
- "2025-01-30" (x10)
|
||||||
|
- "2021-09-01" (x8)
|
||||||
|
- "2021-10-13" (x8)
|
||||||
|
- "2024-05-29" (x7)
|
||||||
|
- "2025-02-26" (x7)
|
||||||
|
- "2023-08-02" (x7)
|
||||||
|
- "2022-11-16" (x2)
|
||||||
|
- "2021-07-07" (x2)
|
||||||
|
- "2024-08-28" (x2)
|
||||||
|
- "2021-12-22" (x1)
|
||||||
|
- "2024-07-31" (x1)
|
||||||
|
- "2021-08-05" (x1)
|
||||||
|
- "2023-04-13" (x1)
|
||||||
|
'source_category':
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.source_category
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.source_category.[]
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "Rulebooks" (x297)
|
||||||
|
- "Lost Omens" (x24)
|
||||||
|
- "Adventure Paths" (x4)
|
||||||
|
- "Adventures" (x1)
|
||||||
|
'source_markdown':
|
||||||
|
type: string
|
||||||
|
path: _subclass.source_markdown
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 145
|
||||||
|
variants: [omitted]
|
||||||
|
'speed':
|
||||||
|
type: object
|
||||||
|
path: _subclass.speed
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[domain]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.domain
|
||||||
|
is_null: true
|
||||||
|
values: 21
|
||||||
|
min_count: 2
|
||||||
|
max_count: 4
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.domain.[]
|
||||||
|
is_null: false
|
||||||
|
values: 64
|
||||||
|
different_values: 33
|
||||||
|
variants: [omitted]
|
||||||
|
[pfs]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.pfs
|
||||||
|
is_null: true
|
||||||
|
values: 315
|
||||||
|
different_values: 3
|
||||||
|
variants:
|
||||||
|
- "Standard" (x308)
|
||||||
|
- "Limited" (x5)
|
||||||
|
- "Restricted" (x2)
|
||||||
|
[remaster_id]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.remaster_id
|
||||||
|
is_null: true
|
||||||
|
values: 87
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.remaster_id.[]
|
||||||
|
is_null: false
|
||||||
|
values: 87
|
||||||
|
different_values: 87
|
||||||
|
variants: [omitted]
|
||||||
|
[skill_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.skill_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 58
|
||||||
|
different_values: 28
|
||||||
|
variants: [omitted]
|
||||||
|
[source_group]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.source_group
|
||||||
|
is_null: true
|
||||||
|
values: 5
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.source_group.[]
|
||||||
|
is_null: false
|
||||||
|
values: 5
|
||||||
|
different_values: 5
|
||||||
|
variants:
|
||||||
|
- "Blood Lords" (x1)
|
||||||
|
- "Prey for Death" (x1)
|
||||||
|
- "Strength of Thousands" (x1)
|
||||||
|
- "Fists of the Ruby Phoenix" (x1)
|
||||||
|
- "Stolen Fate" (x1)
|
||||||
|
[spell_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.spell_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 85
|
||||||
|
different_values: 77
|
||||||
|
variants: [omitted]
|
||||||
|
[spoilers]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.spoilers
|
||||||
|
is_null: true
|
||||||
|
values: 2
|
||||||
|
different_values: 2
|
||||||
|
variants:
|
||||||
|
- "Strength of Thousands" (x1)
|
||||||
|
- "Fists of the Ruby Phoenix" (x1)
|
||||||
|
[summary_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.summary_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 297
|
||||||
|
different_values: 277
|
||||||
|
variants: [omitted]
|
||||||
|
[tradition]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.tradition
|
||||||
|
is_null: true
|
||||||
|
values: 52
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.tradition.[]
|
||||||
|
is_null: false
|
||||||
|
values: 52
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "Occult" (x17)
|
||||||
|
- "Primal" (x15)
|
||||||
|
- "Divine" (x14)
|
||||||
|
- "Arcane" (x6)
|
||||||
|
'category':
|
||||||
|
type: string
|
||||||
|
path: _subclass.category
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 28
|
||||||
|
variants: [omitted]
|
||||||
|
[trait]:
|
||||||
|
type: array<string>
|
||||||
|
path: _subclass.trait
|
||||||
|
is_null: true
|
||||||
|
values: 13
|
||||||
|
min_count: 1
|
||||||
|
max_count: 1
|
||||||
|
value_type:
|
||||||
|
type: string
|
||||||
|
path: _subclass.trait.[]
|
||||||
|
is_null: false
|
||||||
|
values: 13
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "Rare" (x7)
|
||||||
|
- "Uncommon" (x2)
|
||||||
|
- "Unholy" (x2)
|
||||||
|
- "Holy" (x2)
|
||||||
|
'type':
|
||||||
|
type: string
|
||||||
|
path: _subclass.type
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 32
|
||||||
|
variants: [omitted]
|
||||||
|
'url':
|
||||||
|
type: string
|
||||||
|
path: _subclass.url
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
different_values: 326 (all different)
|
||||||
|
variants: [omitted]
|
||||||
|
'weakness':
|
||||||
|
type: object
|
||||||
|
path: _subclass.weakness
|
||||||
|
is_null: false
|
||||||
|
values: 326
|
||||||
|
schema:
|
||||||
|
[tradition_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.tradition_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 26
|
||||||
|
different_values: 4
|
||||||
|
variants:
|
||||||
|
- "[Occult](/SpellLists.aspx?Tradition=3)" (x11)
|
||||||
|
- "[Primal](/SpellLists.aspx?Tradition=4)" (x9)
|
||||||
|
- "[Divine](/SpellLists.aspx?Tradition=2)" (x4)
|
||||||
|
- "[Arcane](/SpellLists.aspx?Tradition=1)" (x2)
|
||||||
|
[trait_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.trait_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 101
|
||||||
|
different_values: 6
|
||||||
|
variants:
|
||||||
|
- "" (x88)
|
||||||
|
- "[Rare](/Traits.aspx?ID=137)" (x6)
|
||||||
|
- "[Uncommon](/Traits.aspx?ID=159)" (x2)
|
||||||
|
- "[Unholy](/Traits.aspx?ID=521)" (x2)
|
||||||
|
- "[Holy](/Traits.aspx?ID=517)" (x2)
|
||||||
|
- "[Rare](/Traits.aspx?ID=683)" (x1)
|
||||||
|
[usage_markdown]:
|
||||||
|
type: string
|
||||||
|
path: _subclass.usage_markdown
|
||||||
|
is_null: true
|
||||||
|
values: 21
|
||||||
|
different_values: 19
|
||||||
|
variants:
|
||||||
|
- "imbued in the skin" (x2)
|
||||||
|
- "a ranged weapon" (x2)
|
||||||
|
- "worn anklets, bracers, or circlet (often a headband)" (x1)
|
||||||
|
- "melee weapon that deals slashing or piercing damage" (x1)
|
||||||
|
- "worn bracers" (x1)
|
||||||
|
- "imbued on the face" (x1)
|
||||||
|
- "imbued in the eyes" (x1)
|
||||||
|
- "a weapon in the [sword](/WeaponGroups.aspx?ID=15) or [knife](/WeaponGroups.aspx?ID=9) group, or a melee unarmed attack that deals slashing damage" (x1)
|
||||||
|
- "a melee [free-hand](/Traits.aspx?ID=613) weapon or a melee [unarmed](/Traits.aspx?ID=719) Strike" (x1)
|
||||||
|
- "a wallet, bag, or similar container of 1 Bulk you can wear on your body" (x1)
|
||||||
|
- "any [shield](/WeaponGroups.aspx?ID=12)" (x1)
|
||||||
|
- "a [sickle](/Weapons.aspx?ID=364) or any weapon from the [axe](/WeaponGroups.aspx?ID=1), [flail](/WeaponGroups.aspx?ID=7), or [polearm](/WeaponGroups.aspx?ID=11) group" (x1)
|
||||||
|
- "a [staff](/Weapons.aspx?ID=367), [bo staff](/Weapons.aspx?ID=372), [fighting stick](/Weapons.aspx?ID=168), [khakkara](/Weapons.aspx?ID=412), or any weapon in the [spear](/WeaponGroups.aspx?ID=14) or [polearm](/WeaponGroups.aspx?ID=11) weapon group" (x1)
|
||||||
|
- "worn cloak or belt" (x1)
|
||||||
|
- "a holster or sheath shaped for a one-handed [thrown](/Traits.aspx?ID=711) weapon of light Bulk or less" (x1)
|
||||||
|
- "worn belt" (x1)
|
||||||
|
- "worn shoes" (x1)
|
||||||
|
- "any melee weapon in the [club](/WeaponGroups.aspx?ID=5), [hammer](/WeaponGroups.aspx?ID=8), or [axe](/WeaponGroups.aspx?ID=1) group, or any your melee [unarmed](/Traits.aspx?ID=719) [Strikes](/Rules.aspx?ID=2895) that deals bludgeoning damage" (x1)
|
||||||
|
- "worn headwear or belt (typically a sash)" (x1)
|
||||||
@@ -50,7 +50,7 @@ schema:
|
|||||||
variants:
|
variants:
|
||||||
- 2 (x18)
|
- 2 (x18)
|
||||||
- 1 (x15)
|
- 1 (x15)
|
||||||
- 0.1 (x7)
|
- 0,1 (x7)
|
||||||
- 3 (x6)
|
- 3 (x6)
|
||||||
- 4 (x4)
|
- 4 (x4)
|
||||||
- 5 (x3)
|
- 5 (x3)
|
||||||
|
|||||||
@@ -8,20 +8,20 @@ schema:
|
|||||||
values: 32
|
values: 32
|
||||||
different_values: 14
|
different_values: 14
|
||||||
variants:
|
variants:
|
||||||
- 3.3 (x5)
|
- 3,3 (x5)
|
||||||
- 3.7 (x4)
|
- 3,7 (x4)
|
||||||
- 3.5 (x4)
|
- 3,5 (x4)
|
||||||
- 4.4 (x4)
|
- 4,4 (x4)
|
||||||
- 2.2 (x3)
|
- 2,2 (x3)
|
||||||
- 3.2 (x2)
|
- 3,2 (x2)
|
||||||
- 2.1 (x2)
|
- 2,1 (x2)
|
||||||
- 4.1 (x2)
|
- 4,1 (x2)
|
||||||
- 1.3 (x1)
|
- 1,3 (x1)
|
||||||
- 1.6 (x1)
|
- 1,6 (x1)
|
||||||
- 2.6 (x1)
|
- 2,6 (x1)
|
||||||
- 1.2 (x1)
|
- 1,2 (x1)
|
||||||
- 2.5 (x1)
|
- 2,5 (x1)
|
||||||
- 1.7 (x1)
|
- 1,7 (x1)
|
||||||
'bulk_raw':
|
'bulk_raw':
|
||||||
type: string
|
type: string
|
||||||
path: class-kit.bulk_raw
|
path: class-kit.bulk_raw
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ schema:
|
|||||||
values: 816
|
values: 816
|
||||||
different_values: 10
|
different_values: 10
|
||||||
variants:
|
variants:
|
||||||
- 0.1 (x370)
|
- 0,1 (x370)
|
||||||
- 0 (x287)
|
- 0 (x287)
|
||||||
- 1 (x97)
|
- 1 (x97)
|
||||||
- 2 (x40)
|
- 2 (x40)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ schema:
|
|||||||
values: 2776
|
values: 2776
|
||||||
different_values: 11
|
different_values: 11
|
||||||
variants:
|
variants:
|
||||||
- 0.1 (x1267)
|
- 0,1 (x1267)
|
||||||
- 0 (x1021)
|
- 0 (x1021)
|
||||||
- 1 (x384)
|
- 1 (x384)
|
||||||
- 2 (x64)
|
- 2 (x64)
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ schema:
|
|||||||
different_values: 14
|
different_values: 14
|
||||||
variants:
|
variants:
|
||||||
- 0 (x1430)
|
- 0 (x1430)
|
||||||
- 0.1 (x1398)
|
- 0,1 (x1398)
|
||||||
- 1 (x436)
|
- 1 (x436)
|
||||||
- 2 (x134)
|
- 2 (x134)
|
||||||
- 3 (x32)
|
- 3 (x32)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ schema:
|
|||||||
different_values: 5
|
different_values: 5
|
||||||
variants:
|
variants:
|
||||||
- 1 (x14)
|
- 1 (x14)
|
||||||
- 0.1 (x2)
|
- 0,1 (x2)
|
||||||
- 4 (x2)
|
- 4 (x2)
|
||||||
- 5 (x1)
|
- 5 (x1)
|
||||||
- 2 (x1)
|
- 2 (x1)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ schema:
|
|||||||
variants:
|
variants:
|
||||||
- 2 (x9)
|
- 2 (x9)
|
||||||
- 1 (x6)
|
- 1 (x6)
|
||||||
- 0.1 (x3)
|
- 0,1 (x3)
|
||||||
'category':
|
'category':
|
||||||
type: string
|
type: string
|
||||||
path: weapon-sub.category
|
path: weapon-sub.category
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ schema:
|
|||||||
values: 450
|
values: 450
|
||||||
different_values: 5
|
different_values: 5
|
||||||
variants:
|
variants:
|
||||||
- 0.1 (x169)
|
- 0,1 (x169)
|
||||||
- 1 (x155)
|
- 1 (x155)
|
||||||
- 2 (x103)
|
- 2 (x103)
|
||||||
- 0 (x19)
|
- 0 (x19)
|
||||||
|
|||||||
Reference in New Issue
Block a user