Глобальный рефакторинг пространств имён

This commit is contained in:
2025-10-02 13:29:30 +04:00
parent d23d81fb53
commit 2fa94851cb
3176 changed files with 27146 additions and 30584 deletions
@@ -0,0 +1,69 @@
using System.Linq;
using System.Text.RegularExpressions;
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Base;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:apparition",
InnerType = "apparition",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Apparitions",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal partial class ApparitionProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Animist";
/// <inheritdoc/>
public override string GroupName => "Apparition";
/// <inheritdoc/>
public override void ProcessObject()
{
AddSpells(Input.GetRequired<string>("spell_markdown"));
AddFocal(Entity.Description);
AddTrainings(Input.GetRequired<string>("skill_markdown"));
}
/// <summary>
/// Добавление заклинания сосуда.
/// </summary>
/// <param name="description"></param>
public void AddFocal(string description)
{
Match match = VesselSpellMarkdownRegex().Match(description);
string aonprdId = $"spell-{match.Groups[1].Value}";
Entity entity = Context
.EntityExternals.Where(x => x.ExternalId == aonprdId)
.Select(x => x.Entity)
.First();
Object.Entities.Add(entity);
}
//protected override string GetDescription() =>
// base.GetDescription()
// + AddedDescription(["skill_markdown", "spell_markdown", "summary_markdown"]);
[GeneratedRegex(@"\*\*Vessel Spell\*\* \[.*?\]\(/Spells\.aspx\?ID=(\d+)\)")]
private static partial Regex VesselSpellMarkdownRegex();
}
@@ -0,0 +1,43 @@
using System.Collections.Generic;
using System.Linq;
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Base;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:arcane-school",
InnerType = "arcane-school",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Arcane Schools",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class ArcaneSchoolProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Wizard";
/// <inheritdoc/>
public override string GroupName => "Arcane School";
/// <inheritdoc/>
public override void ProcessObject()
{
AddSpells(Input.GetRequired<string>("spell_markdown"));
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:arcane-thesis",
InnerType = "arcane-thesis",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Arcane Theses",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class ArcaneThesisProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Wizard";
/// <inheritdoc/>
public override string GroupName => "Arcane Thesis";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,42 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:bloodline",
InnerType = "bloodline",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Bloodlines",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class BloodlineProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Sorcerer";
/// <inheritdoc/>
public override string GroupName => "Bloodline";
/// <inheritdoc/>
public override void ProcessObject()
{
AddSpells(Input.GetRequired<string>("spell_markdown"));
Object.Extra = GenerateJsonString("tradition");
}
}
@@ -0,0 +1,40 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:cause",
InnerType = "cause",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Causes",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class CauseProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Champion";
/// <inheritdoc/>
public override string GroupName => "Cause";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("alignment");
}
}
@@ -0,0 +1,40 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:conscious-mind",
InnerType = "conscious-mind",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Conscious Minds",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class ConsciousMindProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Psychic";
/// <inheritdoc/>
public override string GroupName => "Conscious Mind";
/// <inheritdoc/>
public override void ProcessObject()
{
AddSpells(Input.GetRequired<string>("spell_markdown"));
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:doctrine",
InnerType = "doctrine",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Doctrines",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class DoctrineProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Cleric";
/// <inheritdoc/>
public override string GroupName => "Doctrine";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:druidic-order",
InnerType = "druidic-order",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Druidic Orders",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class DruidicOrderProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Druid";
/// <inheritdoc/>
public override string GroupName => "Druidic Order";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,48 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:eidolon",
InnerType = "eidolon",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Eidolons",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class EidolonProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Summoner";
/// <inheritdoc/>
public override string GroupName => "Eidolon";
/// <inheritdoc/>
public override void ProcessObject()
{
AddTrainings(Input.GetRequired<string>("skill_markdown"));
Object.Extra = GenerateJsonString(
"alignment",
"language_markdown",
"size",
"tradition",
"speed"
);
}
}
@@ -0,0 +1,40 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:element",
InnerType = "element",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Elements",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class ElementProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Kineticist";
/// <inheritdoc/>
public override string GroupName => "Element";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("element");
}
}
@@ -0,0 +1,50 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Scrapper.Processors.Collection;
using Pf2e.Database;
using Pf2e.Database.Model.Base;
using Pf2e.Database.Model.Common;
using Pf2e.Database.Model.Common.I18n;
using Pf2e.Database.Model.Enum;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:epithet",
InnerType = "epithet",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Epithets",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class EpithetProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Exemplar";
/// <inheritdoc/>
public override string GroupName => "Epithet";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("level", "type");
// No additional processing needed
}
}
@@ -0,0 +1,42 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
// TODO: Придумать логику для обработки под-архетипа (Hellknight Order)
//[ProcessorCollection(
// "aonprd:hellknight-order",
// InnerType = "hellknight-order",
// CompendiumType = ProcessorCompendiumEnum.Aonprd,
// Description = "Hellknight Orders",
// Group = ProcessorGroupEnum.AonprdSubclasses
//)]
//[ProcessorDependencies(["aonprd:subclass-group"])]
internal class HellknightOrderProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Hellknight";
/// <inheritdoc/>
public override string GroupName => "Order";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("favored_weapon_markdown");
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:hunters-edge",
InnerType = "hunters-edge",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Hunter's Edges",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class HuntersEdgeProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Ranger";
/// <inheritdoc/>
public override string GroupName => "Hunter's Edge";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:hybrid-study",
InnerType = "hybrid-study",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Hybrid Studies",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class HybridStudyProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Magus";
/// <inheritdoc/>
public override string GroupName => "Hybrid Study";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,40 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:ikon",
InnerType = "ikon",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Ikon",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class IkonProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Exemplar";
/// <inheritdoc/>
public override string GroupName => "Ikon";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("type", "usage_markdown");
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:implement",
InnerType = "implement",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Implements",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class ImplementProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Thaumaturge";
/// <inheritdoc/>
public override string GroupName => "Implement";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:innovation",
InnerType = "innovation",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Innovations",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class InnovationProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Inventor";
/// <inheritdoc/>
public override string GroupName => "Innovation";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:instinct",
InnerType = "instinct",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Instincts",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class InstinctProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Barbarian";
/// <inheritdoc/>
public override string GroupName => "Instinct";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,40 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:lesson",
InnerType = "lesson",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Lessons",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class LessonProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Witch";
/// <inheritdoc/>
public override string GroupName => "Lesson";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("lesson_type");
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:methodology",
InnerType = "methodology",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Methodologies",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class MethodologyProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Investigator";
/// <inheritdoc/>
public override string GroupName => "Methodology";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:muse",
InnerType = "muse",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Muses",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class MuseProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Bard";
/// <inheritdoc/>
public override string GroupName => "Muse";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,45 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:mystery",
InnerType = "mystery",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Mysteries",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class MysteryProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Oracle";
/// <inheritdoc/>
public override string GroupName => "Mystery";
/// <inheritdoc/>
public override void ProcessObject()
{
AddSpells(Input.GetRequired<string>("spell_markdown"));
// TODO: Добавть проверку на упоминание Lore в skill_markdown
// AddTrainings(Input.GetRequired<string>("skill_markdown"));
Object.Extra = GenerateJsonString("domain", "skill_markdown");
}
}
@@ -0,0 +1,51 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Scrapper.Processors.Collection;
using Pf2e.Database;
using Pf2e.Database.Model.Base;
using Pf2e.Database.Model.Common;
using Pf2e.Database.Model.Common.I18n;
using Pf2e.Database.Model.Enum;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:patron",
InnerType = "patron",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Patrons",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class PatronProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Witch";
/// <inheritdoc/>
public override string GroupName => "Patron";
/// <inheritdoc/>
public override void ProcessObject()
{
AddTrainings(Input.GetRequired<string>("skill_markdown"));
Object.Extra = GenerateJsonString("tradition", "skill_markdown");
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:practice",
InnerType = "practice",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Practices",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class PracticeProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Animist";
/// <inheritdoc/>
public override string GroupName => "Practice";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:racket",
InnerType = "racket",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Rackets",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class RacketProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Rogue";
/// <inheritdoc/>
public override string GroupName => "Racket";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:research-field",
InnerType = "research-field",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Research Fields",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class ResearchFieldProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Alchemist";
/// <inheritdoc/>
public override string GroupName => "Research Field";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:style",
InnerType = "style",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Styles",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class StyleProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Swashbuckler";
/// <inheritdoc/>
public override string GroupName => "Style";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,108 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Extensions.DependencyInjection;
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Scrapper.Processors.Definitions;
using Pf2e.Scrapper.Processors.Factory;
using Pf2e.Database;
using Pf2e.Database.Model.Base;
using Pf2e.Database.Model.Common.I18n;
using Pf2e.Database.Model.Enum;
using Pf2e.Database.Model.Structure;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorFactory(
"aonprd:subclass-group",
ProcessorType = typeof(SubclassGroupProcessor),
Description = "Группы подклассов",
Group = ProcessorGroupEnum.AonprdSubclasses,
Parallel = true
)]
[ProcessorDependencies(
["aonprd:trait", "aonprd:source", "aonprd:class", "aonprd:spell", "aonprd:skill"]
)]
internal class SubclassGroupProcessorFactory(
IServiceProvider serviceProvider,
AonprdBuilderGlobals globals
) : AbstractProcessorFactory
{
public IServiceProvider ServiceProvider { get; } = serviceProvider;
public AonprdBuilderGlobals Globals { get; } = globals;
public override int Count() => Globals.SubclassGroups.Count;
public override IEnumerable<Tuple<string, IProcessor>> GetEnumerator()
{
foreach ((string key, string value) in Globals.SubclassGroups)
{
var processor =
value == "_null"
? ActivatorUtilities.CreateInstance<SubclassGroupProcessor>(
ServiceProvider,
key
)
: ActivatorUtilities.CreateInstance<SubclassGroupProcessor>(
ServiceProvider,
key,
value
);
yield return new($"{key} -> {value}", processor);
}
}
}
internal class SubclassGroupProcessor(string groupName, string? className, DatabaseHelper helper)
: IProcessor
{
public string GroupName { get; } = groupName;
public string? ClassName { get; } = className;
public DatabaseHelper Helper { get; } = helper;
public SubclassGroupProcessor(string groupName, DatabaseHelper helper)
: this(groupName, null, helper) { }
public Pf2eDbContext Context { get; } = new();
public void Process()
{
Class? cl = ClassName is not null
? Context.Classes.FirstOrDefault(c =>
Pf2eDbContext.LocaleSearch(c.Entity.Name, ClassName)
)
: null;
int id;
lock (Helper.IdLock)
{
id = Helper.NextEntityId;
}
Entity groupEntity = new()
{
Id = id,
Type = EntityType.SubclassGroup,
Img = "",
Description = "",
Rarity = EntityRarity.Common,
IsTranslated = false,
IsChecked = false,
Name = { [LocaleType.English] = GroupName },
Slug = Helper.GenerateSlug(GroupName),
};
Context.Entities.Add(groupEntity);
SubclassGroup group = new() { Entity = groupEntity, Class = cl };
Context.SubclassGroups.Add(group);
}
public void Save()
{
Context.SaveChanges();
}
}
@@ -0,0 +1,40 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:subconscious-mind",
InnerType = "subconscious-mind",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Subconscious Minds",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class SubconsciousMindProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Psychic";
/// <inheritdoc/>
public override string GroupName => "Subconscious Mind";
/// <inheritdoc/>
public override void ProcessObject()
{
Object.Extra = GenerateJsonString("attribute");
}
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:tenet",
InnerType = "tenet",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Tenets",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class TenetProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Champion";
/// <inheritdoc/>
public override string GroupName => "Tenet";
/// <inheritdoc/>
public override void ProcessObject() { }
}
@@ -0,0 +1,37 @@
using Pf2e.Scrapper.Helpers;
using Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers;
using Pf2e.Scrapper.Processors;
using Pf2e.Scrapper.Processors.Attributes;
using Pf2e.Database.Model.Structure;
using Helpers_StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
using StringHelper = Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses;
[ProcessorCollection(
"aonprd:way",
InnerType = "way",
CompendiumType = ProcessorCompendiumEnum.Aonprd,
Description = "Ways",
Group = ProcessorGroupEnum.AonprdSubclasses
)]
[ProcessorDependencies(["aonprd:subclass-group"])]
internal class WayProcessor(
ProcessorInput input,
Helpers_StringHelper stringHelper,
DatabaseHelper helper,
AonprdBuilderGlobals globals
) : AbstractSubclassProcessor(input, stringHelper, helper, globals)
{
/// <inheritdoc/>
public override Subclass Object { get; } = new();
/// <inheritdoc/>
public override string ClassName => "Gunslinger";
/// <inheritdoc/>
public override string GroupName => "Way";
/// <inheritdoc/>
public override void ProcessObject() { }
}