Subsystem Isolation

From PCGen
Jump to: navigation, search

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)