Subsystem Isolation
This is a working document to show which items have NOT been isolated from PlayerCharacter, and considerations and issues which make that conversion non-trivial (meaning more than a 30-second job, not necessarily "difficult")
Prerequisites
- PreAbilityTester: Awaiting Ability (non-clone) rebuild
- PreApplyTester: Awaiting TEMPBONUS proposal on _exp
- PreAttackTester: Epic cache complexity
- PreCheckBaseTester: Epic cache complexity
- PreCheckTester: Epic cache complexity
- PreClassTester: PlayerCharacter.isSpellCaster
- PreCSkillTester: PlayerCharacter.isClassSkill (and why is a "CSKILL for any class" so widely used?)
- PreEquipTester: Equipment.getEffectiveWieldCategory
- PreFeatTester: Awaiting Ability (non-clone) rebuild
- PreHPTester: PlayerCharacter.hitPoints
- PreRuleTester: RECURSIVE? Sub-prerequisites?
- PreSkillMultTester: SkillRankControl.getTotalRank (dependent on RankedSkillFacet.18890.patch)
- PreSkillTester: SkillRankControl.getTotalRank (dependent on RankedSkillFacet.18890.patch)
- PreSpecialAbilityTester: Consolidation of Special Abilities to one Facet
- PreSpellDescriptorTester: PlayerCharacter.aggregateSpellList
- PreSpellResistanceTester: PlayerCharacter.calcSR
- PreSpellSchoolSubTester: PlayerCharacter.aggregateSpellList
- PreSpellSchoolTester: PlayerCharacter.aggregateSpellList
- PreSpellTester: PlayerCharacter.aggregateSpellList & PlayerCharacter.getAutoSpells
- PreSpellTypeTester: PlayerCharacter.countSpellCastTypeLevel
- PreUnarmedAttackTester: PCClass.baseAttackBonus (which depends on PCClass.getBonusTo ...)
- PreVariableTester: PlayerCharacter.getVariableValue & Equipment.getVariableValue
Primitives
- Domain/Deity: Technically PrereqHandler, but should be rebuilt to have "domainsAllowedByDeity()" on PlayerCharacter
- Equipment/Wield: WieldCategory.checkWield ... Equipment.getEffectiveWieldCategory
- PObject/Feat: PlayerCharacter.getFeatNamedAnyCat (which is really Awaiting Ability (non-clone) rebuild)
- Spell/All: PlayerCharacter.getPCBasedLevelInfo, PlayerCharacter.getCharacterSpells, Formula resolution
- Spell/ClassList: SpellLevel.levelForKey, PlayerCharacter.getCharacterSpells, Formula resolution
- Spell/DomainList: SpellLevel.levelForKey, PlayerCharacter.getCharacterSpells, Formula resolution
- Spell/Prohibited: SpellCountCalc.isProhibited
- Spell/SpellBook: PlayerCharacter.hasSpellInSpellBook
- Spell/SpellType: PlayerCharacter.getPCBasedLevelInfo, PlayerCharacter.getCharacterSpells, Formula resolution
Qualifiers
(All are dependent on PrimitiveChoiceSet being driven by PlayerCharacter)
- Ability/PC: PlayerCharacter.getAbilityList (which is really Awaiting Ability (non-clone) rebuild)
- WeaponProf/Spellcaster: PlayerCharacter.isSpellCaster
- PObject/Qualified: PlayerCharacter.isQualified
PC Terms
Note: Probably not a complete list of terms/Formula objects
- Accheck: PlayerCharacter.getEquipmentOfType & Equipment.acCheck
- ArmourAccheck: PlayerCharacter.getEquipmentOfType & Equipment.acCheck
- Bab: PlayerCharacter.baseAttackBonus (Epic cache complexity)
- BaseSpellStat: PlayerCharacter.getClassKeyed (PCClass clone elimination) & PlayerCharacter.getBaseSpellStatBonus
- BL: PlayerCharacter.getTotalBonusTo
- BonusLang: PlayerCharacter.getBonusLanguageCount & PlayerCharacter.getDetailedAssociationCount (choose count on the built in LANGBONUS object)
- CasterLevelClass: PlayerCharacter.getDomainSource, PlayerCharacter.getTotalBonusTo, PlayerCharacter.getTotalCasterLevelWithSpellBonus
- CasterLevelRace: PlayerCharacter.getTotalCasterLevelWithSpellBonus
- CasterLevelTotal: PlayerCharacter.getTotalBonusTo, PlayerCharacter.getTotalCasterLevelWithSpellBonus
- CastTimesAtWill: ---PCD does not yet support with Spell---
- clBeforeLevel: PlayerCharacter.getClassKeyed (PCClass clone elimination) & PlayerCharacter.getLevelBefore
- cl: PlayerCharacter.getClassKeyed (PCClass clone elimination)
- countattacks: PlayerCharacter.getNumAttacks ... PlayerCharacter.baseAttackBonus (Epic cache complexity)
- countcontainers: PlayerCharacter.getEquipmentListInOutputOrder
- counteqtype ... (left off here)