Difference between revisions of "Subsystem Isolation"

From PCGen Wiki
Jump to: navigation, search
(Created page with "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 ...")
 
 
(2 intermediate revisions by the same user not shown)
Line 25: Line 25:
 
* PreUnarmedAttackTester: PCClass.baseAttackBonus (which depends on PCClass.getBonusTo ...)
 
* PreUnarmedAttackTester: PCClass.baseAttackBonus (which depends on PCClass.getBonusTo ...)
 
* PreVariableTester: PlayerCharacter.getVariableValue & Equipment.getVariableValue
 
* 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)

Latest revision as of 16:18, 30 December 2012

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)