feat: combined prerequisite capability selectors for entities
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { createSelector } from "@reduxjs/toolkit"
|
||||
import * as FullCheck from "../../shared/domain/prerequisites/fullPrerequisiteValidationForType.ts"
|
||||
import { checkPrecondition } from "../../shared/domain/prerequisites/prerequisiteValidationForType.ts"
|
||||
import { checkActivatablePrerequisite } from "../../shared/domain/prerequisites/single/activatablePrerequisiteValidation.ts"
|
||||
import { checkAncestorBloodPrerequisite } from "../../shared/domain/prerequisites/single/ancestorBloodPrerequisiteValidation.ts"
|
||||
@@ -495,3 +496,332 @@ export const selectCapabilitiesForMagicalTraditionPrerequisite = createSelector(
|
||||
getActiveMagicalTraditions: () => activeMagicalTraditions,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a derived characteristic.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfDerivedCharacteristic = createSelector(
|
||||
selectCapabilitiesForRulePrerequisite,
|
||||
(ruleCaps): Parameters<typeof FullCheck.checkPrerequisitesOfDerivedCharacteristic>[1] => ({
|
||||
...ruleCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a publication.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfPublication = createSelector(
|
||||
selectCapabilitiesForPublicationPrerequisite,
|
||||
(publicationCaps): Parameters<typeof FullCheck.checkPrerequisitesOfPublication>[1] => ({
|
||||
...publicationCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a general entry.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfGeneralEntry = createSelector(
|
||||
selectCapabilitiesForSexPrerequisite,
|
||||
selectCapabilitiesForRacePrerequisite,
|
||||
selectCapabilitiesForCulturePrerequisite,
|
||||
selectCapabilitiesForPactPrerequisite,
|
||||
selectCapabilitiesForSocialStatusPrerequisite,
|
||||
selectCapabilitiesForStatePrerequisite,
|
||||
selectCapabilitiesForRulePrerequisite,
|
||||
selectCapabilitiesForPrimaryAttributePrerequisite,
|
||||
selectCapabilitiesForActivatablePrerequisite,
|
||||
selectCapabilitiesForBlessedTraditionPrerequisite,
|
||||
selectCapabilitiesForMagicalTraditionPrerequisite,
|
||||
selectCapabilitiesForRatedPrerequisite,
|
||||
selectCapabilitiesForRatedMinimumNumberPrerequisite,
|
||||
selectCapabilitiesForRatedSumPrerequisite,
|
||||
selectCapabilitiesForExternalEnhancementPrerequisite,
|
||||
selectCapabilitiesForTextPrerequisite,
|
||||
selectCapabilitiesForSexualCharacteristicPrerequisite,
|
||||
(
|
||||
sexCaps,
|
||||
raceCaps,
|
||||
cultureCaps,
|
||||
pactCaps,
|
||||
socialStatusCaps,
|
||||
stateCaps,
|
||||
ruleCaps,
|
||||
primaryAttributeCaps,
|
||||
activatableCaps,
|
||||
blessedTraditionCaps,
|
||||
magicalTraditionCaps,
|
||||
ratedCaps,
|
||||
ratedMinimumNumberCaps,
|
||||
ratedSumCaps,
|
||||
externalEnhancementCaps,
|
||||
textCaps,
|
||||
sexualCharacteristicCaps,
|
||||
): Parameters<typeof FullCheck.checkPrerequisitesOfGeneralEntry>[1] => ({
|
||||
...sexCaps,
|
||||
...raceCaps,
|
||||
...cultureCaps,
|
||||
...pactCaps,
|
||||
...socialStatusCaps,
|
||||
...stateCaps,
|
||||
...ruleCaps,
|
||||
...primaryAttributeCaps,
|
||||
...activatableCaps,
|
||||
...blessedTraditionCaps,
|
||||
...magicalTraditionCaps,
|
||||
...ratedCaps,
|
||||
...ratedMinimumNumberCaps,
|
||||
...ratedSumCaps,
|
||||
...externalEnhancementCaps,
|
||||
...textCaps,
|
||||
...sexualCharacteristicCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a general entry with levels.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfGeneralEntryWithLevels = createSelector(
|
||||
selectCapabilitiesForSexPrerequisite,
|
||||
selectCapabilitiesForRacePrerequisite,
|
||||
selectCapabilitiesForCulturePrerequisite,
|
||||
selectCapabilitiesForPactPrerequisite,
|
||||
selectCapabilitiesForSocialStatusPrerequisite,
|
||||
selectCapabilitiesForStatePrerequisite,
|
||||
selectCapabilitiesForRulePrerequisite,
|
||||
selectCapabilitiesForPrimaryAttributePrerequisite,
|
||||
selectCapabilitiesForActivatablePrerequisite,
|
||||
selectCapabilitiesForBlessedTraditionPrerequisite,
|
||||
selectCapabilitiesForMagicalTraditionPrerequisite,
|
||||
selectCapabilitiesForRatedPrerequisite,
|
||||
selectCapabilitiesForRatedMinimumNumberPrerequisite,
|
||||
selectCapabilitiesForRatedSumPrerequisite,
|
||||
selectCapabilitiesForExternalEnhancementPrerequisite,
|
||||
selectCapabilitiesForTextPrerequisite,
|
||||
selectCapabilitiesForSexualCharacteristicPrerequisite,
|
||||
(
|
||||
sexCaps,
|
||||
raceCaps,
|
||||
cultureCaps,
|
||||
pactCaps,
|
||||
socialStatusCaps,
|
||||
stateCaps,
|
||||
ruleCaps,
|
||||
primaryAttributeCaps,
|
||||
activatableCaps,
|
||||
blessedTraditionCaps,
|
||||
magicalTraditionCaps,
|
||||
ratedCaps,
|
||||
ratedMinimumNumberCaps,
|
||||
ratedSumCaps,
|
||||
externalEnhancementCaps,
|
||||
textCaps,
|
||||
sexualCharacteristicCaps,
|
||||
): Parameters<typeof FullCheck.checkPrerequisitesOfGeneralEntryWithLevels>[2] => ({
|
||||
...sexCaps,
|
||||
...raceCaps,
|
||||
...cultureCaps,
|
||||
...pactCaps,
|
||||
...socialStatusCaps,
|
||||
...stateCaps,
|
||||
...ruleCaps,
|
||||
...primaryAttributeCaps,
|
||||
...activatableCaps,
|
||||
...blessedTraditionCaps,
|
||||
...magicalTraditionCaps,
|
||||
...ratedCaps,
|
||||
...ratedMinimumNumberCaps,
|
||||
...ratedSumCaps,
|
||||
...externalEnhancementCaps,
|
||||
...textCaps,
|
||||
...sexualCharacteristicCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a profession.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfProfession = createSelector(
|
||||
selectCapabilitiesForSexPrerequisite,
|
||||
selectCapabilitiesForRacePrerequisite,
|
||||
selectCapabilitiesForCulturePrerequisite,
|
||||
selectCapabilitiesForActivatablePrerequisite,
|
||||
selectCapabilitiesForRatedPrerequisite,
|
||||
(
|
||||
sexCaps,
|
||||
raceCaps,
|
||||
cultureCaps,
|
||||
activatableCaps,
|
||||
ratedCaps,
|
||||
): Parameters<typeof FullCheck.checkPrerequisitesOfProfession>[1] => ({
|
||||
...sexCaps,
|
||||
...raceCaps,
|
||||
...cultureCaps,
|
||||
...activatableCaps,
|
||||
...ratedCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of an advantage or disadvantage.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfAdvantageOrDisadvantage = createSelector(
|
||||
selectCapabilitiesForCommonSuggestedByRCPPrerequisite,
|
||||
selectCapabilitiesForSexPrerequisite,
|
||||
selectCapabilitiesForRacePrerequisite,
|
||||
selectCapabilitiesForCulturePrerequisite,
|
||||
selectCapabilitiesForPactPrerequisite,
|
||||
selectCapabilitiesForSocialStatusPrerequisite,
|
||||
selectCapabilitiesForStatePrerequisite,
|
||||
selectCapabilitiesForRulePrerequisite,
|
||||
selectCapabilitiesForPrimaryAttributePrerequisite,
|
||||
selectCapabilitiesForActivatablePrerequisite,
|
||||
selectCapabilitiesForBlessedTraditionPrerequisite,
|
||||
selectCapabilitiesForMagicalTraditionPrerequisite,
|
||||
selectCapabilitiesForRatedPrerequisite,
|
||||
selectCapabilitiesForRatedMinimumNumberPrerequisite,
|
||||
selectCapabilitiesForRatedSumPrerequisite,
|
||||
selectCapabilitiesForExternalEnhancementPrerequisite,
|
||||
selectCapabilitiesForTextPrerequisite,
|
||||
selectCapabilitiesForAncestorBloodPrerequisite,
|
||||
selectCapabilitiesForSexualCharacteristicPrerequisite,
|
||||
(
|
||||
commonSuggestedByRCPCaps,
|
||||
sexCaps,
|
||||
raceCaps,
|
||||
cultureCaps,
|
||||
pactCaps,
|
||||
socialStatusCaps,
|
||||
stateCaps,
|
||||
ruleCaps,
|
||||
primaryAttributeCaps,
|
||||
activatableCaps,
|
||||
blessedTraditionCaps,
|
||||
magicalTraditionCaps,
|
||||
ratedCaps,
|
||||
ratedMinimumNumberCaps,
|
||||
ratedSumCaps,
|
||||
externalEnhancementCaps,
|
||||
textCaps,
|
||||
ancestorBloodCaps,
|
||||
sexualCharacteristicCaps,
|
||||
): Parameters<typeof FullCheck.checkPrerequisitesOfAdvantageOrDisadvantage>[4] => ({
|
||||
...commonSuggestedByRCPCaps,
|
||||
...sexCaps,
|
||||
...raceCaps,
|
||||
...cultureCaps,
|
||||
...pactCaps,
|
||||
...socialStatusCaps,
|
||||
...stateCaps,
|
||||
...ruleCaps,
|
||||
...primaryAttributeCaps,
|
||||
...activatableCaps,
|
||||
...blessedTraditionCaps,
|
||||
...magicalTraditionCaps,
|
||||
...ratedCaps,
|
||||
...ratedMinimumNumberCaps,
|
||||
...ratedSumCaps,
|
||||
...externalEnhancementCaps,
|
||||
...textCaps,
|
||||
...ancestorBloodCaps,
|
||||
...sexualCharacteristicCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of an arcane tradition.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfArcaneTradition = createSelector(
|
||||
selectCapabilitiesForSexPrerequisite,
|
||||
selectCapabilitiesForCulturePrerequisite,
|
||||
(sexCaps, cultureCaps): Parameters<typeof FullCheck.checkPrerequisitesOfArcaneTradition>[1] => ({
|
||||
...sexCaps,
|
||||
...cultureCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a personality trait.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfPersonalityTrait = createSelector(
|
||||
selectCapabilitiesForCulturePrerequisite,
|
||||
selectCapabilitiesForTextPrerequisite,
|
||||
(
|
||||
cultureCaps,
|
||||
textCaps,
|
||||
): Parameters<typeof FullCheck.checkPrerequisitesOfPersonalityTrait>[1] => ({
|
||||
...cultureCaps,
|
||||
...textCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a spellwork.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfSpellwork = createSelector(
|
||||
selectCapabilitiesForRulePrerequisite,
|
||||
selectCapabilitiesForRatedPrerequisite,
|
||||
(ruleCaps, ratedCaps): Parameters<typeof FullCheck.checkPrerequisitesOfSpellwork>[1] => ({
|
||||
...ruleCaps,
|
||||
...ratedCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a liturgy.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfLiturgy = createSelector(
|
||||
selectCapabilitiesForRulePrerequisite,
|
||||
(ruleCaps): Parameters<typeof FullCheck.checkPrerequisitesOfLiturgy>[1] => ({
|
||||
...ruleCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of an influence.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfInfluence = createSelector(
|
||||
selectCapabilitiesForInfluencePrerequisite,
|
||||
selectCapabilitiesForTextPrerequisite,
|
||||
(influenceCaps, textCaps): Parameters<typeof FullCheck.checkPrerequisitesOfInfluence>[1] => ({
|
||||
...influenceCaps,
|
||||
...textCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a language.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfLanguage = createSelector(
|
||||
selectCapabilitiesForRacePrerequisite,
|
||||
selectCapabilitiesForActivatablePrerequisite,
|
||||
selectCapabilitiesForTextPrerequisite,
|
||||
(
|
||||
raceCaps,
|
||||
activatableCaps,
|
||||
textCaps,
|
||||
): Parameters<typeof FullCheck.checkPrerequisitesOfLanguage>[2] => ({
|
||||
...raceCaps,
|
||||
...activatableCaps,
|
||||
...textCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of an animist power.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfAnimistPower = createSelector(
|
||||
selectCapabilitiesForAnimistPowerPrerequisite,
|
||||
(animistPowerCaps): Parameters<typeof FullCheck.checkPrerequisitesOfAnimistPower>[1] => ({
|
||||
...animistPowerCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
/**
|
||||
* Select the capabilities needed to check all prerequisites of a geode ritual.
|
||||
*/
|
||||
export const selectCapabilitiesForPrerequisitesOfGeodeRitual = createSelector(
|
||||
selectCapabilitiesForInfluencePrerequisite,
|
||||
(influenceCaps): Parameters<typeof FullCheck.checkPrerequisitesOfGeodeRitual>[1] => ({
|
||||
...influenceCaps,
|
||||
}),
|
||||
)
|
||||
|
||||
@@ -54,22 +54,15 @@ import {
|
||||
selectDynamicAnimistPowers,
|
||||
selectDynamicAttributes,
|
||||
selectDynamicCantrips,
|
||||
selectDynamicCeremonies,
|
||||
selectDynamicCloseCombatTechniques,
|
||||
selectDynamicCurses,
|
||||
selectDynamicDominationRituals,
|
||||
selectDynamicElvenMagicalSongs,
|
||||
selectDynamicFocusRules,
|
||||
selectDynamicGeodeRituals,
|
||||
selectDynamicJesterTricks,
|
||||
selectDynamicLiturgicalChants,
|
||||
selectDynamicMagicalDances,
|
||||
selectDynamicMagicalMelodies,
|
||||
selectDynamicMagicalSpecialAbilities,
|
||||
selectDynamicOptionalRules,
|
||||
selectDynamicRangedCombatTechniques,
|
||||
selectDynamicRituals,
|
||||
selectDynamicSkills,
|
||||
selectDynamicSpells,
|
||||
selectDynamicZibiljaRituals,
|
||||
} from "../slices/characterSlice.ts"
|
||||
@@ -90,6 +83,7 @@ import {
|
||||
import { selectCanRemove, selectIsInCharacterCreation } from "./characterSelectors.ts"
|
||||
import { selectFilterApplyingRatedDependencies } from "./dependencySelectors.ts"
|
||||
import { selectStartExperienceLevel } from "./experienceLevelSelectors.ts"
|
||||
import { selectCapabilitiesForPrerequisitesOfSpellwork } from "./prerequisiteSelectors.ts"
|
||||
import { selectIsEntryAvailable } from "./publicationSelectors.ts"
|
||||
import { selectActiveMagicalTraditions } from "./traditionSelectors.ts"
|
||||
|
||||
@@ -873,15 +867,7 @@ export const selectVisibleInactiveSpells = createSelector(
|
||||
MagicalSpecialAbilityIdentifier.Imitationszauberei,
|
||||
),
|
||||
selectIsEntryAvailable,
|
||||
selectDynamicFocusRules,
|
||||
selectDynamicOptionalRules,
|
||||
selectDynamicAttributes,
|
||||
selectDynamicSkills,
|
||||
selectDynamicCloseCombatTechniques,
|
||||
selectDynamicRangedCombatTechniques,
|
||||
selectDynamicRituals,
|
||||
selectDynamicLiturgicalChants,
|
||||
selectDynamicCeremonies,
|
||||
selectCapabilitiesForPrerequisitesOfSpellwork,
|
||||
selectGetIsUnfamiliar,
|
||||
(
|
||||
staticSpells,
|
||||
@@ -893,15 +879,7 @@ export const selectVisibleInactiveSpells = createSelector(
|
||||
isMaximumUnfamiliarCountReached,
|
||||
imitationszauberei,
|
||||
isEntryAvailable,
|
||||
dynamicFocusRules,
|
||||
dynamicOptionalRules,
|
||||
dynamicAttributes,
|
||||
dynamicSkills,
|
||||
dynamicCloseCombatTechniques,
|
||||
dynamicRangedCombatTechniques,
|
||||
dynamicRituals,
|
||||
dynamicLiturgicalChants,
|
||||
dynamicCeremonies,
|
||||
prerequisiteCapabilities,
|
||||
getIsUnfamiliar,
|
||||
): DisplayedInactiveSpell[] =>
|
||||
getInactiveSpellsOrRituals(
|
||||
@@ -915,16 +893,7 @@ export const selectVisibleInactiveSpells = createSelector(
|
||||
isMaximumUnfamiliarCountReached,
|
||||
imitationszauberei,
|
||||
isEntryAvailable,
|
||||
id => dynamicFocusRules[id],
|
||||
id => dynamicOptionalRules[id],
|
||||
id => dynamicAttributes[id],
|
||||
id => dynamicSkills[id],
|
||||
id => dynamicCloseCombatTechniques[id],
|
||||
id => dynamicRangedCombatTechniques[id],
|
||||
id => dynamicSpells[id],
|
||||
id => dynamicRituals[id],
|
||||
id => dynamicLiturgicalChants[id],
|
||||
id => dynamicCeremonies[id],
|
||||
prerequisiteCapabilities,
|
||||
id => getIsUnfamiliar(createIdentifierObject("Spell", id)),
|
||||
),
|
||||
)
|
||||
@@ -946,15 +915,7 @@ export const selectVisibleInactiveRituals = createSelector(
|
||||
MagicalSpecialAbilityIdentifier.Imitationszauberei,
|
||||
),
|
||||
selectIsEntryAvailable,
|
||||
selectDynamicFocusRules,
|
||||
selectDynamicOptionalRules,
|
||||
selectDynamicAttributes,
|
||||
selectDynamicSkills,
|
||||
selectDynamicCloseCombatTechniques,
|
||||
selectDynamicRangedCombatTechniques,
|
||||
selectDynamicSpells,
|
||||
selectDynamicLiturgicalChants,
|
||||
selectDynamicCeremonies,
|
||||
selectCapabilitiesForPrerequisitesOfSpellwork,
|
||||
selectGetIsUnfamiliar,
|
||||
(
|
||||
staticRituals,
|
||||
@@ -966,15 +927,7 @@ export const selectVisibleInactiveRituals = createSelector(
|
||||
isMaximumUnfamiliarCountReached,
|
||||
imitationszauberei,
|
||||
isEntryAvailable,
|
||||
dynamicFocusRules,
|
||||
dynamicOptionalRules,
|
||||
dynamicAttributes,
|
||||
dynamicSkills,
|
||||
dynamicCloseCombatTechniques,
|
||||
dynamicRangedCombatTechniques,
|
||||
dynamicSpells,
|
||||
dynamicLiturgicalChants,
|
||||
dynamicCeremonies,
|
||||
prerequisiteCapabilities,
|
||||
getIsUnfamiliar,
|
||||
): DisplayedInactiveRitual[] =>
|
||||
getInactiveSpellsOrRituals(
|
||||
@@ -988,16 +941,7 @@ export const selectVisibleInactiveRituals = createSelector(
|
||||
isMaximumUnfamiliarCountReached,
|
||||
imitationszauberei,
|
||||
isEntryAvailable,
|
||||
id => dynamicFocusRules[id],
|
||||
id => dynamicOptionalRules[id],
|
||||
id => dynamicAttributes[id],
|
||||
id => dynamicSkills[id],
|
||||
id => dynamicCloseCombatTechniques[id],
|
||||
id => dynamicRangedCombatTechniques[id],
|
||||
id => dynamicSpells[id],
|
||||
id => dynamicRituals[id],
|
||||
id => dynamicLiturgicalChants[id],
|
||||
id => dynamicCeremonies[id],
|
||||
prerequisiteCapabilities,
|
||||
id => getIsUnfamiliar(createIdentifierObject("Ritual", id)),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
compareImprovementCost,
|
||||
fromRaw,
|
||||
} from "../adventurePoints/improvementCost.ts"
|
||||
import { GetById } from "../getTypes.ts"
|
||||
import { MagicalTraditionIdentifier } from "../identifier.ts"
|
||||
import { checkPrerequisitesOfSpellwork } from "../prerequisites/fullPrerequisiteValidationForType.ts"
|
||||
import {
|
||||
@@ -221,26 +220,8 @@ export const getVisibleInactiveCantrips = (
|
||||
* @param imitationszauberei The dynamic *Imitationszauberei* entry, if present.
|
||||
* @param isEntryAvailable A function that checks whether a spell or ritual is
|
||||
* available based on the active publications.
|
||||
* @param getDynamicFocusRuleById Returns the dynamic focus rule entry by
|
||||
* identifier, if present.
|
||||
* @param getDynamicOptionalRuleById Returns the dynamic optional rule entry by
|
||||
* identifier, if present.
|
||||
* @param getDynamicAttributeById Returns the dynamic attribute entry by
|
||||
* identifier, if present.
|
||||
* @param getDynamicSkillById Returns the dynamic skill entry by identifier, if
|
||||
* present.
|
||||
* @param getDynamicCloseCombatTechniqueById Returns the dynamic close combat
|
||||
* technique entry by identifier, if present.
|
||||
* @param getDynamicRangedCombatTechniqueById Returns the dynamic ranged combat
|
||||
* technique entry by identifier, if present.
|
||||
* @param getDynamicSpellById Returns the dynamic spell entry by identifier, if
|
||||
* present.
|
||||
* @param getDynamicRitualById Returns the dynamic ritual entry by identifier,
|
||||
* if present.
|
||||
* @param getDynamicLiturgicalChantById Returns the dynamic liturgical chant
|
||||
* entry by identifier, if present.
|
||||
* @param getDynamicCeremonyById Returns the dynamic ceremony entry by
|
||||
* identifier, if present.
|
||||
* @param prerequisiteCapabilities All capabilities that are needed to check the
|
||||
* prerequisites of the spell or ritual.
|
||||
* @param getIsUnfamiliar Returns if the spell or ritual (depending on the
|
||||
* `kind` parameter) is unfamiliar.
|
||||
*/
|
||||
@@ -255,16 +236,7 @@ export const getInactiveSpellsOrRituals = <K extends "spell" | "ritual", T exten
|
||||
isMaximumUnfamiliarCountReached: boolean,
|
||||
imitationszauberei: Activatable | undefined,
|
||||
isEntryAvailable: (src: PublicationRefs) => boolean,
|
||||
getDynamicFocusRuleById: GetById.Dynamic.FocusRule,
|
||||
getDynamicOptionalRuleById: GetById.Dynamic.OptionalRule,
|
||||
getDynamicAttributeById: GetById.Dynamic.Attribute,
|
||||
getDynamicSkillById: GetById.Dynamic.Skill,
|
||||
getDynamicCloseCombatTechniqueById: GetById.Dynamic.CloseCombatTechnique,
|
||||
getDynamicRangedCombatTechniqueById: GetById.Dynamic.RangedCombatTechnique,
|
||||
getDynamicSpellById: GetById.Dynamic.Spell,
|
||||
getDynamicRitualById: GetById.Dynamic.Ritual,
|
||||
getDynamicLiturgicalChantById: GetById.Dynamic.LiturgicalChant,
|
||||
getDynamicCeremonyById: GetById.Dynamic.Ceremony,
|
||||
prerequisiteCapabilities: Parameters<typeof checkPrerequisitesOfSpellwork>[1],
|
||||
getIsUnfamiliar: (id: number) => boolean,
|
||||
): {
|
||||
kind: K
|
||||
@@ -363,18 +335,10 @@ export const getInactiveSpellsOrRituals = <K extends "spell" | "ritual", T exten
|
||||
!isMaximumCountReached &&
|
||||
(!isUnfamiliar || !isMaximumUnfamiliarCountReached) &&
|
||||
additionalSoftPredicate(staticSpellwork) &&
|
||||
checkPrerequisitesOfSpellwork(staticSpellwork.prerequisites ?? [], {
|
||||
getDynamicFocusRuleById,
|
||||
getDynamicOptionalRuleById,
|
||||
getDynamicAttributeById,
|
||||
getDynamicSkillById,
|
||||
getDynamicCloseCombatTechniqueById,
|
||||
getDynamicRangedCombatTechniqueById,
|
||||
getDynamicSpellById,
|
||||
getDynamicRitualById,
|
||||
getDynamicLiturgicalChantById,
|
||||
getDynamicCeremonyById,
|
||||
}),
|
||||
checkPrerequisitesOfSpellwork(
|
||||
staticSpellwork.prerequisites ?? [],
|
||||
prerequisiteCapabilities,
|
||||
),
|
||||
isUnfamiliar,
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user