From ec2046350c849fdd4b235541bd93c6b6d0577be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kat=20March=C3=A1n?= Date: Thu, 18 Jul 2024 21:24:45 -0700 Subject: [PATCH] SI faction entity generation Fixes: https://github.com/iron-vault-plugin/iron-vault/issues/436 --- src/entity/specs.ts | 155 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/src/entity/specs.ts b/src/entity/specs.ts index 5f2c9cdf..0fa35f4a 100644 --- a/src/entity/specs.ts +++ b/src/entity/specs.ts @@ -511,4 +511,159 @@ export const ENTITIES: Record> = { }, }, }, + siSociety: { + label: "Faction: Society", + collectionId: "oracle_collection:sundered_isles/faction/society", + nameGen: (ent) => + `The ${ent.name_culture[0]?.simpleResult ? ent.name_culture[0]?.simpleResult + " " : ""}${ent.name_theme_aspect[0]?.simpleResult ? ent.name_theme_aspect[0]?.simpleResult + " " : ""}${ent.name_theme_persona[0]?.simpleResult ? ent.name_theme_persona[0]?.simpleResult + " " : ""}${ent.name_identity[0]?.simpleResult ?? ""}`, + spec: { + name_culture: { + id: "oracle_rollable:sundered_isles/faction/name/culture", + }, + name_identity: { + id: "oracle_rollable:sundered_isles/faction/name/identity_society", + }, + name_theme_type: { + id: "oracle_rollable:sundered_isles/faction/name/themes/type", + definesAttribute: { + order: 1, + mechanism: AttributeMechanism.ParseId, + }, + }, + name_theme_aspect: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/aspect", + name: "Name: Aspect", + }, + name_theme_persona: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/persona", + name: "Name: Persona", + }, + chronicles: { + id: "oracle_rollable:sundered_isles/faction/society/chronicles", + }, + overseers: { + id: "oracle_rollable:sundered_isles/faction/society/overseers", + }, + touchstones: { + id: "oracle_rollable:sundered_isles/faction/society/touchstones", + }, + cursed_aspects: { + id: "oracle_rollable:sundered_isles/faction/cursed/aspects", + }, + }, + }, + siOrganization: { + label: "Faction: Organization", + collectionId: "oracle_collection:sundered_isles/faction/organization", + nameGen: (ent) => + `The ${ent.name_culture[0]?.simpleResult ? ent.name_culture[0]?.simpleResult + " " : ""}${ent.name_theme_aspect[0]?.simpleResult ? ent.name_theme_aspect[0]?.simpleResult + " " : ""}${ent.name_theme_persona[0]?.simpleResult ? ent.name_theme_persona[0]?.simpleResult + " " : ""}${ent.name_identity[0]?.simpleResult ?? ""}`, + spec: { + name_culture: { + id: "oracle_rollable:sundered_isles/faction/name/culture", + }, + name_identity: { + id: "oracle_rollable:sundered_isles/faction/name/identity_organization", + }, + name_theme_type: { + id: "oracle_rollable:sundered_isles/faction/name/themes/type", + definesAttribute: { + order: 1, + mechanism: AttributeMechanism.ParseId, + }, + }, + name_theme_aspect: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/aspect", + name: "Name: Aspect", + }, + name_theme_persona: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/persona", + name: "Name: Persona", + }, + type: { + id: "oracle_rollable:sundered_isles/faction/organization/type", + }, + methods: { + id: "oracle_rollable:sundered_isles/faction/organization/methods", + }, + secrets: { + id: "oracle_rollable:sundered_isles/faction/organization/secrets", + }, + cursed_aspects: { + id: "oracle_rollable:sundered_isles/faction/cursed/aspects", + }, + }, + }, + siEmpire: { + label: "Faction: Empire", + collectionId: "oracle_collection:sundered_isles/faction/empire", + nameGen: (ent) => + `The ${ent.name_culture[0]?.simpleResult ? ent.name_culture[0]?.simpleResult + " " : ""}${ent.name_theme_aspect[0]?.simpleResult ? ent.name_theme_aspect[0]?.simpleResult + " " : ""}${ent.name_theme_persona[0]?.simpleResult ? ent.name_theme_persona[0]?.simpleResult + " " : ""}${ent.name_identity[0]?.simpleResult ?? ""}`, + spec: { + name_culture: { + id: "oracle_rollable:sundered_isles/faction/name/culture", + }, + name_identity: { + id: "oracle_rollable:sundered_isles/faction/name/identity_empire", + }, + name_theme_type: { + id: "oracle_rollable:sundered_isles/faction/name/themes/type", + definesAttribute: { + order: 1, + mechanism: AttributeMechanism.ParseId, + }, + }, + name_theme_aspect: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/aspect", + name: "Name: Aspect", + }, + name_theme_persona: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/persona", + name: "Name: Persona", + }, + leadership: { + id: "oracle_rollable:sundered_isles/faction/empire/leadership", + }, + tactics: { + id: "oracle_rollable:sundered_isles/faction/empire/tactics", + }, + vulnerabilities: { + id: "oracle_rollable:sundered_isles/faction/empire/vulnerabilities", + }, + cursed_aspects: { + id: "oracle_rollable:sundered_isles/faction/cursed/aspects", + }, + }, + }, + siCursed: { + label: "Faction: Cursed Faction", + collectionId: "oracle_collection:sundered_isles/faction/cursed", + nameGen: (ent) => + `The ${ent.name_culture[0]?.simpleResult ? ent.name_culture[0]?.simpleResult + " " : ""}${ent.name_theme_aspect[0]?.simpleResult ? ent.name_theme_aspect[0]?.simpleResult + " " : ""}${ent.name_theme_persona[0]?.simpleResult ? ent.name_theme_persona[0]?.simpleResult + " " : ""}`, + spec: { + name_culture: { + id: "oracle_rollable:sundered_isles/faction/name/culture", + }, + name_theme_type: { + id: "oracle_rollable:sundered_isles/faction/name/themes/type", + definesAttribute: { + order: 1, + mechanism: AttributeMechanism.ParseId, + }, + }, + name_theme_aspect: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/aspect", + name: "Name: Aspect", + }, + name_theme_persona: { + id: "oracle_rollable:sundered_isles/faction/name/themes/{{name_theme_type}}/persona", + name: "Name: Persona", + }, + role: { + id: "oracle_rollable:sundered_isles/faction/cursed/role", + }, + aspects: { + id: "oracle_rollable:sundered_isles/faction/cursed/aspects", + }, + }, + }, };