![]() |
Core Rules
WoTC AD&D 2nd Edition -- Drakein API Reference
|
Heavy per-character record (one row backing a Chars/*.dat file). More...
#include <ICharacterRecord.h>
Public Types | |
| enum | PlayerType { Player_CoreRules = 0 , Player_SkillsAndPowers = 1 , Player_CoreRulesV3 = 256 } |
| Player-type discriminator (Type field on the General tab). More... | |
| enum | KitValid { Kit_OK , Kit_NotAKit , Kit_FailRulesSet , Kit_FailGender , Kit_FailAlignment , Kit_FailRace , Kit_FailAbility , Kit_FailPrimeReq , Kit_FailClass } |
| Result of ValidateKit: Kit_OK, or the first gate that failed. More... | |
| enum | { kMaxLevel = 100 } |
| Maximum character level the HP-per-level array supports. More... | |
Public Member Functions | |
| virtual | ~ICharacterRecord ()=default |
| virtual const char * | GetCharacterName () const =0 |
| Character's name (unique across Character_Index). | |
| virtual bool | SetCharacterName (const char *v)=0 |
| Rename the character (uniqueness-checked). | |
| virtual const char * | GetPlayerName () const =0 |
| Player name (the real-life person who runs this character). | |
| virtual void | SetPlayerName (const char *v)=0 |
| Set the player name. Refreshes the MiniOb's ddi_PlayerName. | |
| virtual const char * | GetCoreRulesVersion () const =0 |
| Free-form version string (carried across saves). | |
| virtual void | SetCoreRulesVersion (const char *v)=0 |
| Set the version string. | |
| virtual PlayerType | GetPlayerType () const =0 |
| Core Rules vs Skills & Powers vs Core Rules v3. | |
| virtual bool | SetPlayerType (PlayerType v)=0 |
| Set the discriminator. | |
| virtual const char * | GetRace () const =0 |
| Race name (e.g. "Half-elf"). | |
| virtual bool | SetRace (const char *v)=0 |
| Set the race. Refreshes MiniOb's cached race + ddi_Race. | |
| virtual const char * | GetSubRace () const =0 |
| Sub-race / lineage name (e.g. "Standard half-elf"). | |
| virtual bool | SetSubRace (const char *v)=0 |
| Set the sub-race. | |
| virtual const char * | GetClassDisplay () const =0 |
| Composed class display ("Fighter/Magic-User/Thief"). | |
| virtual void | SetClassDisplay (const char *v)=0 |
| Set the composed class display. Refreshes MiniOb's ddi_Class. | |
| virtual const char * | GetClassKit () const =0 |
| Character kit name (e.g. "Swashbuckler"; empty if none). | |
| virtual bool | SetClassKit (const char *v)=0 |
| Set the kit. Refreshes MiniOb's ddi_Kit. | |
| virtual KitValid | ValidateKit (const char *kitName) const =0 |
| Does the character meet the named kit's requirements? | |
| virtual const char * | GetAlignment () const =0 |
| Alignment (e.g. "Lawful Good", "Chaotic Neutral"). | |
| virtual bool | SetAlignment (const char *v)=0 |
| Set the alignment. | |
| virtual const char * | GetParty () const =0 |
| Party name this character belongs to (empty = free agent). | |
| virtual void | SetParty (const char *v)=0 |
| Set the party. Refreshes MiniOb's cached party + ddi_Party. | |
| virtual bool | IsNPC () const =0 |
| true if this is an NPC roster entry (DM-side). | |
| virtual void | IsNPC (bool v)=0 |
| Set the NPC flag. Refreshes the MiniOb's cached NPC state. | |
| virtual long | GetHeight () const =0 |
| Height in inches (>= 0). | |
| virtual long | GetWeight () const =0 |
| Weight in pounds (>= 0). | |
| virtual long | GetAge () const =0 |
| Age in years (>= 0). | |
| virtual long | GetGender () const =0 |
| Gender: 0 = Female, non-zero = Male (storage is long; carries non-binary values verbatim where present). | |
| virtual bool | SetHeight (long v)=0 |
| Set height. | |
| virtual bool | SetWeight (long v)=0 |
| Set weight. | |
| virtual bool | SetAge (long v)=0 |
| Set age. | |
| virtual void | SetGender (long v)=0 |
| Set gender (any long value accepted verbatim). | |
| virtual bool | IsFemale () const =0 |
| Convenience predicate (GetGender() == 0). | |
| virtual bool | IsMale () const =0 |
| Convenience predicate (GetGender() != 0). | |
| virtual const char * | GetPortraitDir () const =0 |
| Directory holding the portrait image file. | |
| virtual void | SetPortraitDir (const char *v)=0 |
| Set the portrait directory. | |
| virtual const char * | GetPortraitFilename () const =0 |
| Portrait image filename (within GetPortraitDir()). | |
| virtual void | SetPortraitFilename (const char *v)=0 |
| Set the portrait filename. | |
| virtual bool | IsCustomPortrait () const =0 |
| True when the portrait is NOT a base image for the character's race (custom image, or race unresolvable). | |
| virtual long | GetExtensionId () const =0 |
| The extension binding id (0 if none). Does not trigger a load. | |
| virtual void | ClearExtensionBinding ()=0 |
| Zero the extension binding id and mark the record dirty. | |
| virtual int | GetTraitCount () const =0 |
| Number of traits the character has. | |
| virtual const char * | GetTrait (int index) const =0 |
| Trait at the given index ("" if out of range). | |
| virtual int | GetDisadvantageCount () const =0 |
| Number of disadvantages the character has. | |
| virtual const char * | GetDisadvantage (int index) const =0 |
| Disadvantage at the given index ("" if out of range). | |
| virtual int | GetAdventureCount () const =0 |
| Number of adventures in the log. | |
| virtual ICharacter_Adventure * | GetAdventure (int index)=0 |
| Adventure at the given index (owned; do not delete). | |
| virtual void | AddAdventure (ICharacter_Adventure *a)=0 |
| Append a new adventure. Takes ownership of a. | |
| virtual bool | RemoveAdventure (int index)=0 |
| Remove (and delete) the adventure at the given index. | |
| virtual void | ClearAdventures ()=0 |
| Remove and delete every adventure. | |
| virtual long | GetExperiencePoints (int slot) const =0 |
| Experience points in the given class slot. | |
| virtual bool | SetExperiencePoints (int slot, long xp)=0 |
| Set XP for the given class slot. | |
| virtual long | GetHPForLevel (int slot, int level) const =0 |
| Per-character-level HP rolled for the given class slot. | |
| virtual bool | SetHPForLevel (int slot, int level, long hp)=0 |
| Set rolled HP for the given class slot + level. | |
| virtual bool | IsShieldBuckler () const =0 |
| Shield-Buckler proficiency. | |
| virtual bool | IsShieldSmall () const =0 |
| Shield-Small proficiency. | |
| virtual bool | IsShieldMedium () const =0 |
| Shield-Medium proficiency. | |
| virtual bool | IsShieldBody () const =0 |
| Shield-Body proficiency. | |
| virtual void | IsShieldBuckler (bool v)=0 |
| Set Shield-Buckler proficiency. | |
| virtual void | IsShieldSmall (bool v)=0 |
| Set Shield-Small proficiency. | |
| virtual void | IsShieldMedium (bool v)=0 |
| Set Shield-Medium proficiency. | |
| virtual void | IsShieldBody (bool v)=0 |
| Set Shield-Body proficiency. | |
| virtual bool | IsCanPunch () const =0 |
| Unarmed combat: punching. | |
| virtual bool | IsCanWrestle () const =0 |
| Unarmed combat: wrestling. | |
| virtual bool | IsCanMartialArts () const =0 |
| Unarmed combat: martial arts. | |
| virtual void | IsCanPunch (bool v)=0 |
| Set punching ability. | |
| virtual void | IsCanWrestle (bool v)=0 |
| Set wrestling ability. | |
| virtual void | IsCanMartialArts (bool v)=0 |
| Set martial-arts ability. | |
Extension-backed fields | |
Fields stored on the per-character Drakein.dat record.
Setters maintain the invariant:
| |
| virtual long | GetFamilyId () const =0 |
| Linked family record id; 0 = no family link. | |
| virtual bool | SetFamilyId (long id)=0 |
| Set the family link. | |
| virtual bool | HasFamilyRecord () const =0 |
| true if GetFamilyId() is non-zero AND the family record exists. | |
| virtual const IDateOb * | GetDateOfBirth () const =0 |
| Date of birth (read-only view). Owned by the record; do not delete. | |
| virtual IDateOb * | GetDateOfBirth ()=0 |
| Date of birth (mutable view). Owned by the record; do not delete. | |
| virtual void | SetDateOfBirth (const IDateOb *v)=0 |
| Set the date of birth. Zeros FamilyId when v is non-empty. | |
| virtual const char * | GetPlaceOfBirth () const =0 |
| Place of birth (free-form text). | |
| virtual void | SetPlaceOfBirth (const char *v)=0 |
| Set the place of birth. Zeros FamilyId when v is non-empty. | |
| virtual const char * | GetEyeColor () const =0 |
| Eye color (free-form text). | |
| virtual void | SetEyeColor (const char *v)=0 |
| Set the eye color. | |
| virtual const char * | GetHairColor () const =0 |
| Hair color (free-form text). | |
| virtual void | SetHairColor (const char *v)=0 |
| Set the hair color. | |
| virtual const char * | GetComplexion () const =0 |
| Complexion (free-form text). | |
| virtual void | SetComplexion (const char *v)=0 |
| Set the complexion. | |
| virtual long | GetCurrentHitPoints () const =0 |
| Current hit points (signed; <= -10 means dead). | |
| virtual void | SetCurrentHitPoints (long v)=0 |
| Set the current hit points. | |
| virtual bool | IsRightHanded () const =0 |
| true if the character is right-handed (predicate-setter style). | |
| virtual bool | IsLeftHanded () const =0 |
| true if the character is left-handed. | |
| virtual void | IsRightHanded (bool v)=0 |
| Set handedness via the right-handed predicate. | |
| virtual void | IsLeftHanded (bool v)=0 |
| Set handedness via the left-handed predicate. | |
| virtual bool | OutOfPlay () const =0 |
| true if the character is no longer in play. | |
| virtual void | OutOfPlay (bool v)=0 |
| Set if the character is no longer in play. | |
Per-slot class lists: abilities, magic schools, minor/major spheres | |
Standard string-array CRUD (like racial abilities / traits / disadvantages) but per class slot [0, kMaxClasses). Each Add validates the value against the matching Parts section (Class Abilities / Schools of Magic / Spheres); an unknown value is rejected. A bad slot yields count 0 / "" / false. | |
| virtual int | GetClassAbilityCount (int slot) const =0 |
| virtual const char * | GetClassAbility (int slot, int index) const =0 |
| virtual bool | AddClassAbility (int slot, const char *v)=0 |
| virtual bool | RemoveClassAbility (int slot, const char *v)=0 |
| by name (removes all matches); false if none | |
| virtual bool | RemoveClassAbilityAt (int slot, int index)=0 |
| by index | |
| virtual void | ClearClassAbilities (int slot)=0 |
| virtual int | GetMagicSchoolCount (int slot) const =0 |
| virtual const char * | GetMagicSchool (int slot, int index) const =0 |
| virtual bool | AddMagicSchool (int slot, const char *v)=0 |
| virtual bool | RemoveMagicSchool (int slot, const char *v)=0 |
| by name | |
| virtual bool | RemoveMagicSchoolAt (int slot, int index)=0 |
| by index | |
| virtual void | ClearMagicSchools (int slot)=0 |
| virtual int | GetMinorSphereCount (int slot) const =0 |
| virtual const char * | GetMinorSphere (int slot, int index) const =0 |
| virtual bool | AddMinorSphere (int slot, const char *v)=0 |
| virtual bool | RemoveMinorSphere (int slot, const char *v)=0 |
| by name | |
| virtual bool | RemoveMinorSphereAt (int slot, int index)=0 |
| by index | |
| virtual void | ClearMinorSpheres (int slot)=0 |
| virtual int | GetMajorSphereCount (int slot) const =0 |
| virtual const char * | GetMajorSphere (int slot, int index) const =0 |
| virtual bool | AddMajorSphere (int slot, const char *v)=0 |
| virtual bool | RemoveMajorSphere (int slot, const char *v)=0 |
| by name | |
| virtual bool | RemoveMajorSphereAt (int slot, int index)=0 |
| by index | |
| virtual void | ClearMajorSpheres (int slot)=0 |
Tab: Abilities | |
Racial abilities list. Class / kit abilities are pulled from their respective catalogs at display time (not stored here). | |
| virtual int | GetRacialAbilityCount () const =0 |
| Number of racial abilities the character has. | |
| virtual const char * | GetRacialAbility (int index) const =0 |
| Racial ability at the given index. | |
| virtual bool | AddRacialAbility (const char *v)=0 |
| Append a racial ability. | |
| virtual bool | RemoveRacialAbility (const char *v)=0 |
| by name | |
| virtual bool | RemoveRacialAbilityAt (int index)=0 |
| Remove the racial ability at the given index. | |
| virtual void | ClearRacialAbilities ()=0 |
| Remove every racial ability. | |
Character points (Skills & Powers class build) | |
Total S&P character points for the build, and the amount awarded per level. An S&P class value (not psionics). Setters reject negative values. | |
| virtual long | GetCharacterPoints () const =0 |
| virtual bool | SetCharacterPoints (long v)=0 |
| virtual long | GetCharacterPointsPerLevel () const =0 |
| virtual bool | SetCharacterPointsPerLevel (long v)=0 |
Tab: Proficiencies (Non-Weapon) | |
Non-weapon proficiencies, languages, secondary skills, armor worn. | |
| virtual int | GetNonWeaponProfCount () const =0 |
| Number of non-weapon proficiencies. | |
| virtual const char * | GetNonWeaponProf (int index) const =0 |
| NWP at index. | |
| virtual bool | AddNonWeaponProf (const char *v)=0 |
| Append a non-weapon proficiency. | |
| virtual bool | RemoveNonWeaponProf (const char *v)=0 |
| by name | |
| virtual bool | RemoveNonWeaponProfAt (int index)=0 |
| Remove at index. | |
| virtual void | ClearNonWeaponProfs ()=0 |
| Clear all. | |
| virtual int | GetNonWeaponProfScoreCount () const =0 |
| Number of NWP score entries (parallel to GetNonWeaponProf). | |
| virtual long | GetNonWeaponProfScore (int index) const =0 |
| NWP score at index. | |
| virtual bool | AddNonWeaponProfScore (long v)=0 |
| Append an NWP score. | |
| virtual bool | RemoveNonWeaponProfScoreAt (int index)=0 |
| Remove NWP score at index. | |
| virtual void | ClearNonWeaponProfScores ()=0 |
| Clear all NWP scores. | |
| virtual int | GetSecondaryNonWeaponProfScoreCount () const =0 |
| Number of secondary NWP scores (S&P – 2nd score column). | |
| virtual long | GetSecondaryNonWeaponProfScore (int index) const =0 |
| Secondary NWP score at index. | |
| virtual bool | AddSecondaryNonWeaponProfScore (long v)=0 |
| Append a secondary NWP score. | |
| virtual bool | RemoveSecondaryNonWeaponProfScoreAt (int index)=0 |
| Remove secondary NWP score at index. | |
| virtual void | ClearSecondaryNonWeaponProfScores ()=0 |
| Clear all secondary NWP scores. | |
| virtual int | GetSecondarySkillCount () const =0 |
| Number of secondary skills (career background – forester, carpenter, etc.). | |
| virtual const char * | GetSecondarySkill (int index) const =0 |
| Secondary skill at index. | |
| virtual bool | AddSecondarySkill (const char *v)=0 |
| Append a secondary skill. | |
| virtual bool | RemoveSecondarySkill (const char *v)=0 |
| by name | |
| virtual bool | RemoveSecondarySkillAt (int index)=0 |
| Remove at index. | |
| virtual void | ClearSecondarySkills ()=0 |
| Clear all. | |
| virtual int | GetLanguageCount () const =0 |
| Number of languages the character knows. | |
| virtual const char * | GetLanguage (int index) const =0 |
| Language at index. | |
| virtual bool | AddLanguage (const char *v)=0 |
| Append a language. | |
| virtual bool | RemoveLanguage (const char *v)=0 |
| by name | |
| virtual bool | RemoveLanguageAt (int index)=0 |
| Remove language at index. | |
| virtual void | ClearLanguages ()=0 |
| Clear all languages. | |
| virtual int | GetArmorWornCount () const =0 |
| Number of armor pieces currently worn (body armor + shield + etc.). | |
| virtual const char * | GetArmorWorn (int index) const =0 |
| Worn armor item at index. | |
| virtual bool | AddArmorWorn (const char *v)=0 |
| Append a worn armor item. | |
| virtual bool | RemoveArmorWorn (const char *v)=0 |
| by name | |
| virtual bool | RemoveArmorWornAt (int index)=0 |
| Remove worn armor item at index. | |
| virtual void | ClearArmorWorn ()=0 |
| Clear all worn armor. | |
| virtual const char * | GetFreeNWPByKit () const =0 |
| Free NWP grants from the character's kit (single concatenated string). | |
| virtual void | SetFreeNWPByKit (const char *v)=0 |
| Set the free-NWP-by-kit string. | |
Tab: History | |
Free-form prose: Social Standing, History, Major Life Event. | |
| virtual const char * | GetSocialStanding () const =0 |
| Social Standing prose field. | |
| virtual void | SetSocialStanding (const char *v)=0 |
| Set Social Standing. | |
| virtual const char * | GetHistory () const =0 |
| History prose field. | |
| virtual void | SetHistory (const char *v)=0 |
| Set History. | |
| virtual const char * | GetMajorLifeEvent () const =0 |
| Major Life Event prose field. | |
| virtual void | SetMajorLifeEvent (const char *v)=0 |
| Set Major Life Event. | |
Tab: General (edit API for Traits / Disadvantages) | |
The read-only stubs in the General block (above) provide Count + GetXxx(int); these complete the editing protocol used by the General tab's "Traits" and "Disadvantages" panes. | |
| virtual bool | AddTrait (const char *v)=0 |
| Append a trait to the General-tab Traits pane. | |
| virtual bool | RemoveTrait (const char *v)=0 |
| by name | |
| virtual bool | RemoveTraitAt (int index)=0 |
| Remove trait at index. | |
| virtual void | ClearTraits ()=0 |
| Clear all traits. | |
| virtual bool | AddDisadvantage (const char *v)=0 |
| Append a disadvantage to the General-tab Disadvantages pane. | |
| virtual bool | RemoveDisadvantage (const char *v)=0 |
| by name | |
| virtual bool | RemoveDisadvantageAt (int index)=0 |
| Remove disadvantage at index. | |
| virtual void | ClearDisadvantages ()=0 |
| Clear all disadvantages. | |
Composite dirty-flag protocol | |
The Psionics tab is not in the current editor screenshot set. The impl carries the full Psionics data block (Primary Psionics and Alternate Primary strings; Disciplines / Sciences / Devotions / Attacks / Defenses lists; IsTestedForWildTalent flag; PSP- per-level array). These accessors will be added here when the Psionics editor lands. (Character Points + per-level were previously mis-listed here; they are an S&P class-build value, not psionics, and are now exposed via GetCharacterPoints / GetCharacterPointsPerLevel above.) DEFERRED 2026-06-02 by Jeff. Not an oversight – the underlying impl is intact; just no public interface yet because there's no consumer for it. | |
| virtual bool | IsDirty () const =0 |
| true if any field on this record (own state, the internal extension, adventures, or any of the nine inventory bundles) has been mutated since the last MarkClean() or successful save. | |
| virtual void | MarkClean ()=0 |
| Recursively clear the dirty flag on self + extension + bundles. | |
Tab: Attributes | |
6 core abilities + Skills & Powers split-stat sub-abilities. | |
| enum | AbilitySlot { Ability_Strength = 0 , Ability_Dexterity = 1 , Ability_Constitution = 2 , Ability_Intelligence = 3 , Ability_Wisdom = 4 , Ability_Charisma = 5 } |
| AbilitySlot in AD&D canonical order (Str/Dex/Con/Int/Wis/Cha). More... | |
| virtual long | GetStrength () const =0 |
| Strength (1..25). | |
| virtual long | GetDexterity () const =0 |
| Dexterity (1..25). | |
| virtual long | GetConstitution () const =0 |
| Constitution (1..25). | |
| virtual long | GetIntelligence () const =0 |
| Intelligence (1..25). | |
| virtual long | GetWisdom () const =0 |
| Wisdom (1..25). | |
| virtual long | GetCharisma () const =0 |
| Charisma (1..25). | |
| virtual bool | SetStrength (long v)=0 |
| Set Strength. | |
| virtual bool | SetDexterity (long v)=0 |
| Set Dexterity. | |
| virtual bool | SetConstitution (long v)=0 |
| Set Constitution. | |
| virtual bool | SetIntelligence (long v)=0 |
| Set Intelligence. | |
| virtual bool | SetWisdom (long v)=0 |
| Set Wisdom. | |
| virtual bool | SetCharisma (long v)=0 |
| Set Charisma. | |
| virtual long | GetAbility (AbilitySlot slot) const =0 |
| Slot-indexed ability getter (convenience for iteration). | |
| virtual bool | SetAbility (AbilitySlot slot, long v)=0 |
| Slot-indexed ability setter. | |
| virtual long | GetStamina () const =0 |
| S&P Stamina sub-ability. | |
| virtual long | GetMuscle () const =0 |
| S&P Muscle sub-ability. | |
| virtual long | GetStrengthModifier () const =0 |
| S&P Strength Modifier (0..100; the 18/xx percentile). | |
| virtual bool | SetStamina (long v)=0 |
| Set Stamina. | |
| virtual bool | SetMuscle (long v)=0 |
| Set Muscle. | |
| virtual bool | SetStrengthModifier (long v)=0 |
| Set Strength Modifier. | |
| virtual Char_Strength_Attr | GetStrengthAttrs () const =0 |
| Derived Strength stats for THIS character (the recovered GetStrengthAttrs from the original CoreRules.dll). | |
| virtual Char_Dexterity_Attr | GetDexterityAttrs () const =0 |
| Derived Dexterity stats for THIS character (CR: off Dexterity; S&P: Aim + Balance). | |
| virtual Char_Constitution_Attr | GetConstitutionAttrs () const =0 |
| Derived Constitution stats (CR: off Constitution; S&P: Health + Fitness; regeneration is CR-only). | |
| virtual Char_Intelligence_Attr | GetIntelligenceAttrs () const =0 |
| Derived Intelligence stats (CR: off Intelligence; S&P: Reason + Knowledge). | |
| virtual Char_Wisdom_Attr | GetWisdomAttrs () const =0 |
| Derived Wisdom stats (CR: off Wisdom; S&P: Intuition + Willpower). | |
| virtual Char_Charisma_Attr | GetCharismaAttrs () const =0 |
| Derived Charisma stats (CR: off Charisma; S&P: Leadership + Appearance). | |
| virtual int | GetSpellImmunityCount () const =0 |
| Number of spells this character is immune to via a high Wisdom (from GetWisdomAttrs().spell_immunity, 0..7). | |
| virtual const char * | GetSpellImmunity (int index) const =0 |
| The i-th immune spell's name (0-based, 0..GetSpellImmunityCount()-1). | |
| virtual long | GetAim () const =0 |
| S&P Aim sub-ability (split of Dexterity). | |
| virtual long | GetBalance () const =0 |
| S&P Balance sub-ability (split of Dexterity). | |
| virtual bool | SetAim (long v)=0 |
| Set Aim. | |
| virtual bool | SetBalance (long v)=0 |
| Set Balance. | |
| virtual long | GetHealth () const =0 |
| S&P Health sub-ability (split of Constitution). | |
| virtual long | GetFitness () const =0 |
| S&P Fitness sub-ability (split of Constitution). | |
| virtual bool | SetHealth (long v)=0 |
| Set Health. | |
| virtual bool | SetFitness (long v)=0 |
| Set Fitness. | |
| virtual long | GetReason () const =0 |
| S&P Reason sub-ability (split of Intelligence). | |
| virtual long | GetKnowledge () const =0 |
| S&P Knowledge sub-ability (split of Intelligence). | |
| virtual bool | SetReason (long v)=0 |
| Set Reason. | |
| virtual bool | SetKnowledge (long v)=0 |
| Set Knowledge. | |
| virtual long | GetIntuition () const =0 |
| S&P Intuition sub-ability (split of Wisdom). | |
| virtual long | GetWillpower () const =0 |
| S&P Willpower sub-ability (split of Wisdom). | |
| virtual bool | SetIntuition (long v)=0 |
| Set Intuition. | |
| virtual bool | SetWillpower (long v)=0 |
| Set Willpower. | |
| virtual long | GetLeadership () const =0 |
| S&P Leadership sub-ability (split of Charisma). | |
| virtual long | GetAppearance () const =0 |
| S&P Appearance sub-ability (split of Charisma). | |
| virtual bool | SetLeadership (long v)=0 |
| Set Leadership. | |
| virtual bool | SetAppearance (long v)=0 |
| Set Appearance. | |
Tab: Class | |
Multi-class slots, per-class XP / HP / class name. | |
| enum | { kMaxClasses = 5 } |
| Maximum number of multi-class slots. Valid slot indices are [0, kMaxClasses). More... | |
| enum | AddClassResult { Added , ReplacedSameGroup , AlreadyPresent , NotAClass , Full } |
| Outcome of AddClass. More... | |
| enum | RemoveClassResult { Removed , NotFound , CannotRemoveLast } |
| Outcome of RemoveClass. More... | |
| virtual long | GetNumberOfClasses () const =0 |
| Active class count. | |
| virtual const char * | GetSlotClassName (int slot) const =0 |
| Class name at the given slot ("" if out of range). | |
| virtual int | FindClassSlot (const char *class_name) const =0 |
| Slot index holding the named class (case-insensitive), or -1 if the character has no such class. | |
| virtual AddClassResult | AddClass (const char *name)=0 |
| Add a class by name. | |
| virtual RemoveClassResult | RemoveClass (const char *name)=0 |
| Remove a class by name; compacts the roster (and every per-slot array) and decrements the count. | |
Tab: Proficiencies (Weapon) | |
Weapon / armor proficiency lists, weapon mastery, fighting style, shield + unarmed combat flags. | |
| enum | { kFightingStyleSlots = 9 } |
| Number of S&P fighting-style slots (9 fixed slots). More... | |
| enum | FightingStyle { FStyle_None = 0 , FStyle_OneHandedWeapon = 0x7C9 , FStyle_WeaponAndShield = 0x7CA , FStyle_TwoHandedWeapon = 0x7CB , FStyle_TwoWeapon = 0x7CC , FStyle_Missile = 0x7CD , FStyle_HorseArcher = 0x7CE , FStyle_ThrownSling = 0x7CF , FStyle_TwoWeaponPlus2 = 0x7D1 , FStyle_OneHandedPlus2 = 0x7D2 } |
| Skills & Powers fighting-style keys. More... | |
| virtual int | GetWeaponProficiencyCount () const =0 |
| Number of specific-weapon proficiencies (e.g. "Sword, long"). | |
| virtual const char * | GetWeaponProficiency (int index) const =0 |
| Specific-weapon proficiency at the given index. | |
| virtual bool | AddWeaponProficiency (const char *v)=0 |
| Append a weapon proficiency. | |
| virtual bool | RemoveWeaponProficiency (const char *v)=0 |
| by name | |
| virtual bool | RemoveWeaponProficiencyAt (int index)=0 |
| Remove the weapon proficiency at the given index. | |
| virtual void | ClearWeaponProficiency ()=0 |
| Remove every weapon proficiency. | |
| virtual int | GetBroadGroupProficiencyCount () const =0 |
| Number of broad weapon-group proficiencies (e.g. "Blades", "Bows"). | |
| virtual const char * | GetBroadGroupProficiency (int index) const =0 |
| Broad-group proficiency at index. | |
| virtual bool | AddBroadGroupProficiency (const char *v)=0 |
| Append a broad-group proficiency. | |
| virtual bool | RemoveBroadGroupProficiency (const char *v)=0 |
| by name | |
| virtual bool | RemoveBroadGroupProficiencyAt (int index)=0 |
| Remove at index. | |
| virtual void | ClearBroadGroupProficiency ()=0 |
| Clear all. | |
| virtual int | GetTightGroupProficiencyCount () const =0 |
| Number of tight weapon-group proficiencies (e.g. "Long Blades"). | |
| virtual const char * | GetTightGroupProficiency (int index) const =0 |
| Tight-group proficiency at index. | |
| virtual bool | AddTightGroupProficiency (const char *v)=0 |
| Append a tight-group proficiency. | |
| virtual bool | RemoveTightGroupProficiency (const char *v)=0 |
| by name | |
| virtual bool | RemoveTightGroupProficiencyAt (int index)=0 |
| Remove at index. | |
| virtual void | ClearTightGroupProficiency ()=0 |
| Clear all. | |
| virtual int | GetSpecializationCount () const =0 |
| Number of weapon specializations (above-proficiency expertise). | |
| virtual const char * | GetSpecialization (int index) const =0 |
| Specialization at index. | |
| virtual bool | AddSpecialization (const char *v)=0 |
| Append a specialization. | |
| virtual bool | RemoveSpecialization (const char *v)=0 |
| by name | |
| virtual bool | RemoveSpecializationAt (int index)=0 |
| Remove at index. | |
| virtual void | ClearSpecializations ()=0 |
| Clear all. | |
| virtual int | GetArmorProficiencyCount () const =0 |
| Number of armor proficiencies (e.g. "Light Armor"). | |
| virtual const char * | GetArmorProficiency (int index) const =0 |
| Armor proficiency at index. | |
| virtual bool | AddArmorProficiency (const char *v)=0 |
| Append an armor proficiency. | |
| virtual bool | RemoveArmorProficiency (const char *v)=0 |
| by name | |
| virtual bool | RemoveArmorProficiencyAt (int index)=0 |
| Remove at index. | |
| virtual void | ClearArmorProficiency ()=0 |
| Clear all. | |
| virtual const char * | GetWeaponOfChoice () const =0 |
| "Weapon of Choice" mastery field (empty if unset). | |
| virtual bool | SetWeaponOfChoice (const char *v)=0 |
| Set Weapon of Choice. | |
| virtual const char * | GetExpertise () const =0 |
| "Expertise" mastery field. | |
| virtual bool | SetExpertise (const char *v)=0 |
| Set Expertise. | |
| virtual const char * | GetWeaponMastery () const =0 |
| "Weapon Mastery" field. | |
| virtual bool | SetWeaponMastery (const char *v)=0 |
| Set Weapon Mastery. | |
| virtual const char * | GetHighMasteryWeapon () const =0 |
| "High Mastery" weapon name. | |
| virtual bool | SetHighMasteryWeapon (const char *v)=0 |
| Set High Mastery weapon. | |
| virtual const char * | GetGrandMasteryWeapon () const =0 |
| "Grand Mastery" weapon name. | |
| virtual bool | SetGrandMasteryWeapon (const char *v)=0 |
| Set Grand Mastery weapon. | |
| virtual const char * | GetWeaponFromRacialFocus () const =0 |
| Weapon granted by the character's racial focus. | |
| virtual void | SetWeaponFromRacialFocus (const char *v)=0 |
| Set the racial-focus weapon. | |
| virtual const char * | GetMissileFocusFromKit () const =0 |
| Missile-weapon focus granted by the character's kit. | |
| virtual void | SetMissileFocusFromKit (const char *v)=0 |
| Set the missile-focus weapon. | |
| virtual long | GetFightingStyle (int slot) const =0 |
| Fighting-style value at slot (read-only enumeration; edit via AddFightingStyle / RemoveFightingStyle, which enforce the no-duplicates and compaction rules). | |
| virtual int | GetFightingStyleCount () const =0 |
| Count of styles currently set (the array is compacted, no gaps). | |
| virtual bool | HasFightingStyle (FightingStyle key) const =0 |
True if key is already present. | |
| virtual bool | AddFightingStyle (FightingStyle key)=0 |
| Add a style in the first free slot. | |
| virtual bool | RemoveFightingStyle (FightingStyle key)=0 |
| Remove a style and compact the array (shift the rest up). | |
| static const char * | FightingStyleName (long key) |
Display name for a fighting-style key, or nullptr if key is not one of the nine styles (0/None or an unknown value). | |
Tab: Inventory | |
Nine fixed inventory bundles, indexed by InventorySlot. Bundles returned by these accessors alias the record's owned bundles; do NOT delete them. Mutating them via IInventoryBundle's own API (AddItem / RemoveItem / Clear) marks this character record dirty through the composite walk. | |
| enum | { kMaxInventorySlots = 9 } |
| Maximum inventory bundle slot count. More... | |
| enum | InventorySlot { Inventory_Animals = 0 , Inventory_DailyFoodLodging = 1 , Inventory_Carried = 2 , Inventory_Readied = 3 , Inventory_Stored = 4 , Inventory_Worn = 5 , Inventory_Money = 6 , Inventory_Services = 7 , Inventory_Transportation = 8 } |
| Inventory bundle slot identifiers (match editor tree top-level labels). More... | |
| virtual const IInventoryBundle * | GetInventory (InventorySlot slot) const =0 |
| Slot-indexed bundle accessor (const). | |
| virtual IInventoryBundle * | GetInventory (InventorySlot slot)=0 |
| Slot-indexed bundle accessor (mutable). | |
| virtual const IInventoryBundle * | GetInventoryAnimals () const =0 |
| Animals bundle (mounts, war animals, etc.). | |
| virtual IInventoryBundle * | GetInventoryAnimals ()=0 |
| Animals bundle (mutable). | |
| virtual const IInventoryBundle * | GetInventoryDailyFoodLodging () const =0 |
| Daily food / lodging tab. | |
| virtual IInventoryBundle * | GetInventoryDailyFoodLodging ()=0 |
| Daily food / lodging tab (mutable). | |
| virtual const IInventoryBundle * | GetInventoryCarried () const =0 |
| Carried items (the active inventory). | |
| virtual IInventoryBundle * | GetInventoryCarried ()=0 |
| Carried items (mutable). | |
| virtual const IInventoryBundle * | GetInventoryReadied () const =0 |
| Readied items (immediately accessible). | |
| virtual IInventoryBundle * | GetInventoryReadied ()=0 |
| Readied items (mutable). | |
| virtual const IInventoryBundle * | GetInventoryStored () const =0 |
| Stored items (not on the person). | |
| virtual IInventoryBundle * | GetInventoryStored ()=0 |
| Stored items (mutable). | |
| virtual const IInventoryBundle * | GetInventoryWorn () const =0 |
| Worn items (body armor, jewelry, etc.). | |
| virtual IInventoryBundle * | GetInventoryWorn ()=0 |
| Worn items (mutable). | |
| virtual const IInventoryBundle * | GetInventoryMoney () const =0 |
| Money (currencies stacked by denomination). | |
| virtual IInventoryBundle * | GetInventoryMoney ()=0 |
| Money (mutable). | |
| virtual const IInventoryBundle * | GetInventoryServices () const =0 |
| Services purchased / available. | |
| virtual IInventoryBundle * | GetInventoryServices ()=0 |
| Services (mutable). | |
| virtual const IInventoryBundle * | GetInventoryTransportation () const =0 |
| Transportation (wagons, mounts as transport, etc.). | |
| virtual IInventoryBundle * | GetInventoryTransportation ()=0 |
| Transportation (mutable). | |
Tab: Spells | |
Known spells (spell book) + memorized spells per class/level
| |
| enum | { kMaxSpellLevel = 11 } |
| Memorized-spell slots-per-level depth. Valid level range: [0, kMaxSpellLevel). More... | |
| virtual int | GetKnownWizardSpellCount () const =0 |
| Number of wizard spells in the spell book. | |
| virtual const char * | GetKnownWizardSpell (int index) const =0 |
| Known wizard spell at index. | |
| virtual bool | AddKnownWizardSpell (const char *v)=0 |
| Append a wizard spell to the spell book. | |
| virtual bool | RemoveKnownWizardSpell (const char *v)=0 |
| by name | |
| virtual bool | RemoveKnownWizardSpellAt (int index)=0 |
| Remove the wizard spell at index from the spell book. | |
| virtual void | ClearKnownWizardSpells ()=0 |
| Clear the wizard spell book. | |
| virtual int | GetKnownPriestSpellCount () const =0 |
| Number of priest spells granted (distinct from "memorized"). | |
| virtual const char * | GetKnownPriestSpell (int index) const =0 |
| Known priest spell at index. | |
| virtual bool | AddKnownPriestSpell (const char *v)=0 |
| Append a known priest spell. | |
| virtual bool | RemoveKnownPriestSpell (const char *v)=0 |
| by name | |
| virtual bool | RemoveKnownPriestSpellAt (int index)=0 |
| Remove known priest spell at index. | |
| virtual void | ClearKnownPriestSpells ()=0 |
| Clear known priest spells. | |
| virtual int | GetMemorizedWizardSpellCount (int slot, int level) const =0 |
| Number of memorized wizard spells in (slot, level) cell. | |
| virtual const char * | GetMemorizedWizardSpell (int slot, int level, int index) const =0 |
| Memorized wizard spell at (slot, level, index). | |
| virtual bool | AddMemorizedWizardSpell (int slot, int level, const char *v)=0 |
| Append a memorized wizard spell to (slot, level). | |
| virtual bool | RemoveMemorizedWizardSpellAt (int slot, int level, int index)=0 |
| Remove memorized wizard spell at (slot, level, index). | |
| virtual void | ClearMemorizedWizardSpells (int slot, int level)=0 |
| Clear all memorized wizard spells in (slot, level). | |
| virtual int | GetMemorizedPriestSpellCount (int slot, int level) const =0 |
| Number of memorized priest spells in (slot, level) cell. | |
| virtual const char * | GetMemorizedPriestSpell (int slot, int level, int index) const =0 |
| Memorized priest spell at (slot, level, index). | |
| virtual bool | AddMemorizedPriestSpell (int slot, int level, const char *v)=0 |
| Append a memorized priest spell to (slot, level). | |
| virtual bool | RemoveMemorizedPriestSpellAt (int slot, int level, int index)=0 |
| Remove memorized priest spell at (slot, level, index). | |
| virtual void | ClearMemorizedPriestSpells (int slot, int level)=0 |
| Clear all memorized priest spells in (slot, level). | |
| virtual bool | IsUseSpellPoints () const =0 |
| Optional rule: use Spell Points (S&P alternative magic). | |
| virtual void | IsUseSpellPoints (bool v)=0 |
| Set the Spell Points opt-in flag. | |
| virtual bool | IsUseHighIntBonus () const =0 |
| Optional rule: use high-Intelligence wizard bonus spells. | |
| virtual void | IsUseHighIntBonus (bool v)=0 |
| Set the high-Int wizard-bonus opt-in flag. | |
Heavy per-character record (one row backing a Chars/*.dat file).
Acquired via ICharacterMiniOb::GetRecord(). Owned by the MiniOb; do not delete.
| anonymous enum |
Memorized-spell slots-per-level depth. Valid level range: [0, kMaxSpellLevel).
| Enumerator | |
|---|---|
| kMaxSpellLevel | |
| anonymous enum |
Maximum number of multi-class slots. Valid slot indices are [0, kMaxClasses).
| Enumerator | |
|---|---|
| kMaxClasses | |
| anonymous enum |
AbilitySlot in AD&D canonical order (Str/Dex/Con/Int/Wis/Cha).
| Enumerator | |
|---|---|
| Ability_Strength | |
| Ability_Dexterity | |
| Ability_Constitution | |
| Ability_Intelligence | |
| Ability_Wisdom | |
| Ability_Charisma | |
Outcome of AddClass.
Skills & Powers fighting-style keys.
The value stored in each m_fighting_styles slot is one of these. Slots are filled in add-order and kept compacted, so a slot index carries no meaning — the VALUE identifies the style. (0x7D0 is unassigned.)
Inventory bundle slot identifiers (match editor tree top-level labels).
|
virtualdefault |
|
pure virtual |
Append a new adventure. Takes ownership of a.
|
pure virtual |
Append an armor proficiency.
|
pure virtual |
Append a worn armor item.
|
pure virtual |
Append a broad-group proficiency.
|
pure virtual |
Add a class by name.
Classes are group-ordered and one-per-group: a class whose group is already present replaces that slot in place (keeping XP/HP, swapping the class-ability set); otherwise the new class is inserted in group order with a clean slot (XP 0, HP 0) and its abilities populated. Maintains the count and shifts every per-slot array in lockstep.
|
pure virtual |
|
pure virtual |
Append a disadvantage to the General-tab Disadvantages pane.
|
pure virtual |
Add a style in the first free slot.
Rejects an invalid key, a duplicate (each style may appear only once), or a full array.
|
pure virtual |
Append a known priest spell.
|
pure virtual |
Append a wizard spell to the spell book.
|
pure virtual |
Append a language.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Append a memorized priest spell to (slot, level).
|
pure virtual |
Append a memorized wizard spell to (slot, level).
|
pure virtual |
|
pure virtual |
Append a non-weapon proficiency.
|
pure virtual |
Append an NWP score.
|
pure virtual |
Append a racial ability.
|
pure virtual |
Append a secondary NWP score.
|
pure virtual |
Append a secondary skill.
|
pure virtual |
Append a specialization.
|
pure virtual |
Append a tight-group proficiency.
|
pure virtual |
Append a trait to the General-tab Traits pane.
|
pure virtual |
Append a weapon proficiency.
|
pure virtual |
Remove and delete every adventure.
|
pure virtual |
Clear all.
|
pure virtual |
Clear all worn armor.
|
pure virtual |
Clear all.
|
pure virtual |
|
pure virtual |
Clear all disadvantages.
|
pure virtual |
Zero the extension binding id and mark the record dirty.
|
pure virtual |
Clear known priest spells.
|
pure virtual |
Clear the wizard spell book.
|
pure virtual |
Clear all languages.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Clear all memorized priest spells in (slot, level).
|
pure virtual |
Clear all memorized wizard spells in (slot, level).
|
pure virtual |
|
pure virtual |
Clear all.
|
pure virtual |
Clear all NWP scores.
|
pure virtual |
Remove every racial ability.
|
pure virtual |
Clear all secondary NWP scores.
|
pure virtual |
Clear all.
|
pure virtual |
Clear all.
|
pure virtual |
Clear all.
|
pure virtual |
Clear all traits.
|
pure virtual |
Remove every weapon proficiency.
|
static |
Display name for a fighting-style key, or nullptr if key is not one of the nine styles (0/None or an unknown value).
The single source of truth for the key-to-name mapping.
|
pure virtual |
Slot index holding the named class (case-insensitive), or -1 if the character has no such class.
The inverse of GetSlotClassName – saves the caller a lookup loop before the per-slot accessors.
|
pure virtual |
Slot-indexed ability getter (convenience for iteration).
|
pure virtual |
Adventure at the given index (owned; do not delete).
|
pure virtual |
Number of adventures in the log.
|
pure virtual |
Age in years (>= 0).
|
pure virtual |
S&P Aim sub-ability (split of Dexterity).
|
pure virtual |
Alignment (e.g. "Lawful Good", "Chaotic Neutral").
|
pure virtual |
S&P Appearance sub-ability (split of Charisma).
|
pure virtual |
Armor proficiency at index.
|
pure virtual |
Number of armor proficiencies (e.g. "Light Armor").
|
pure virtual |
Worn armor item at index.
|
pure virtual |
Number of armor pieces currently worn (body armor + shield + etc.).
|
pure virtual |
S&P Balance sub-ability (split of Dexterity).
|
pure virtual |
Broad-group proficiency at index.
|
pure virtual |
Number of broad weapon-group proficiencies (e.g. "Blades", "Bows").
|
pure virtual |
Character's name (unique across Character_Index).
|
pure virtual |
|
pure virtual |
|
pure virtual |
Charisma (1..25).
|
pure virtual |
Derived Charisma stats (CR: off Charisma; S&P: Leadership + Appearance).
By value.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Composed class display ("Fighter/Magic-User/Thief").
|
pure virtual |
Character kit name (e.g. "Swashbuckler"; empty if none).
|
pure virtual |
Complexion (free-form text).
|
pure virtual |
Constitution (1..25).
|
pure virtual |
Derived Constitution stats (CR: off Constitution; S&P: Health + Fitness; regeneration is CR-only).
By value.
|
pure virtual |
Free-form version string (carried across saves).
|
pure virtual |
Current hit points (signed; <= -10 means dead).
|
pure virtual |
Date of birth (read-only view). Owned by the record; do not delete.
|
pure virtual |
Date of birth (mutable view). Owned by the record; do not delete.
|
pure virtual |
Dexterity (1..25).
|
pure virtual |
Derived Dexterity stats for THIS character (CR: off Dexterity; S&P: Aim + Balance).
By value.
|
pure virtual |
Disadvantage at the given index ("" if out of range).
|
pure virtual |
Number of disadvantages the character has.
|
pure virtual |
Experience points in the given class slot.
|
pure virtual |
"Expertise" mastery field.
|
pure virtual |
The extension binding id (0 if none). Does not trigger a load.
|
pure virtual |
Eye color (free-form text).
|
pure virtual |
Linked family record id; 0 = no family link.
|
pure virtual |
Fighting-style value at slot (read-only enumeration; edit via AddFightingStyle / RemoveFightingStyle, which enforce the no-duplicates and compaction rules).
Per S&P style table.
|
pure virtual |
Count of styles currently set (the array is compacted, no gaps).
|
pure virtual |
S&P Fitness sub-ability (split of Constitution).
|
pure virtual |
Free NWP grants from the character's kit (single concatenated string).
|
pure virtual |
Gender: 0 = Female, non-zero = Male (storage is long; carries non-binary values verbatim where present).
|
pure virtual |
"Grand Mastery" weapon name.
|
pure virtual |
Hair color (free-form text).
|
pure virtual |
S&P Health sub-ability (split of Constitution).
|
pure virtual |
Height in inches (>= 0).
|
pure virtual |
"High Mastery" weapon name.
|
pure virtual |
History prose field.
|
pure virtual |
Per-character-level HP rolled for the given class slot.
| slot | Class slot in [0, kMaxClasses). |
| level | Character level in [1, kMaxLevel); level 0 is sentinel. |
|
pure virtual |
Intelligence (1..25).
|
pure virtual |
Derived Intelligence stats (CR: off Intelligence; S&P: Reason + Knowledge).
By value.
|
pure virtual |
S&P Intuition sub-ability (split of Wisdom).
|
pure virtual |
Slot-indexed bundle accessor (const).
|
pure virtual |
Slot-indexed bundle accessor (mutable).
|
pure virtual |
Animals bundle (mounts, war animals, etc.).
|
pure virtual |
Animals bundle (mutable).
|
pure virtual |
Carried items (the active inventory).
|
pure virtual |
Carried items (mutable).
|
pure virtual |
Daily food / lodging tab.
|
pure virtual |
Daily food / lodging tab (mutable).
|
pure virtual |
Money (currencies stacked by denomination).
|
pure virtual |
Money (mutable).
|
pure virtual |
Readied items (immediately accessible).
|
pure virtual |
Readied items (mutable).
|
pure virtual |
Services purchased / available.
|
pure virtual |
Services (mutable).
|
pure virtual |
Stored items (not on the person).
|
pure virtual |
Stored items (mutable).
|
pure virtual |
Transportation (wagons, mounts as transport, etc.).
|
pure virtual |
Transportation (mutable).
|
pure virtual |
Worn items (body armor, jewelry, etc.).
|
pure virtual |
Worn items (mutable).
|
pure virtual |
S&P Knowledge sub-ability (split of Intelligence).
|
pure virtual |
Known priest spell at index.
|
pure virtual |
Number of priest spells granted (distinct from "memorized").
|
pure virtual |
Known wizard spell at index.
|
pure virtual |
Number of wizard spells in the spell book.
|
pure virtual |
Language at index.
|
pure virtual |
Number of languages the character knows.
|
pure virtual |
S&P Leadership sub-ability (split of Charisma).
|
pure virtual |
|
pure virtual |
|
pure virtual |
Major Life Event prose field.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Memorized priest spell at (slot, level, index).
|
pure virtual |
Number of memorized priest spells in (slot, level) cell.
|
pure virtual |
Memorized wizard spell at (slot, level, index).
|
pure virtual |
Number of memorized wizard spells in (slot, level) cell.
| slot | Class slot in [0, kMaxClasses). |
| level | Spell level in [0, kMaxSpellLevel). |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Missile-weapon focus granted by the character's kit.
|
pure virtual |
S&P Muscle sub-ability.
|
pure virtual |
NWP at index.
|
pure virtual |
Number of non-weapon proficiencies.
Single flat list – the impl tracks per-class internally but the editor display is flat.
|
pure virtual |
NWP score at index.
|
pure virtual |
Number of NWP score entries (parallel to GetNonWeaponProf).
|
pure virtual |
Active class count.
Maintained by AddClass / RemoveClass – there is no public setter, so the count can't desync from the slots.
|
pure virtual |
Party name this character belongs to (empty = free agent).
|
pure virtual |
Place of birth (free-form text).
|
pure virtual |
Player name (the real-life person who runs this character).
|
pure virtual |
Core Rules vs Skills & Powers vs Core Rules v3.
|
pure virtual |
Directory holding the portrait image file.
RESOLVED on read: if the portrait is a base image for the character's race (its basename appears in that race's EFFECTIVE image list, or the filename is blank) the configured base-portrait directory is returned; otherwise the image is custom and its baked directory is returned verbatim. Falls back to the raw baked directory when the base directory can't be resolved, or when the character's race can't be looked up (raw passthrough). The raw baked value is preserved on disk (round-trips byte-exact); SetPortraitDir stores verbatim with no resolution.
|
pure virtual |
Portrait image filename (within GetPortraitDir()).
|
pure virtual |
Race name (e.g. "Half-elf").
|
pure virtual |
Racial ability at the given index.
|
pure virtual |
Number of racial abilities the character has.
|
pure virtual |
S&P Reason sub-ability (split of Intelligence).
|
pure virtual |
Secondary NWP score at index.
|
pure virtual |
Number of secondary NWP scores (S&P – 2nd score column).
|
pure virtual |
Secondary skill at index.
|
pure virtual |
Number of secondary skills (career background – forester, carpenter, etc.).
|
pure virtual |
Class name at the given slot ("" if out of range).
Read-only enumeration; use AddClass / RemoveClass to change the roster.
|
pure virtual |
Social Standing prose field.
|
pure virtual |
Specialization at index.
|
pure virtual |
Number of weapon specializations (above-proficiency expertise).
|
pure virtual |
The i-th immune spell's name (0-based, 0..GetSpellImmunityCount()-1).
Returns nullptr when the index is out of range.
|
pure virtual |
Number of spells this character is immune to via a high Wisdom (from GetWisdomAttrs().spell_immunity, 0..7).
Cumulative: a level of N grants immunity to the spells of levels 1..N. 0 if none.
|
pure virtual |
S&P Stamina sub-ability.
|
pure virtual |
Strength (1..25).
|
pure virtual |
Derived Strength stats for THIS character (the recovered GetStrengthAttrs from the original CoreRules.dll).
Core Rules: every field indexes off Strength. Skills & Powers: Weight Allowance indexes off Stamina, all other fields off Muscle. Returned by value – an immutable snapshot of the table row.
|
pure virtual |
S&P Strength Modifier (0..100; the 18/xx percentile).
|
pure virtual |
Sub-race / lineage name (e.g. "Standard half-elf").
|
pure virtual |
Tight-group proficiency at index.
|
pure virtual |
Number of tight weapon-group proficiencies (e.g. "Long Blades").
|
pure virtual |
Trait at the given index ("" if out of range).
|
pure virtual |
Number of traits the character has.
|
pure virtual |
Weapon granted by the character's racial focus.
|
pure virtual |
"Weapon Mastery" field.
|
pure virtual |
"Weapon of Choice" mastery field (empty if unset).
|
pure virtual |
Specific-weapon proficiency at the given index.
|
pure virtual |
Number of specific-weapon proficiencies (e.g. "Sword, long").
|
pure virtual |
Weight in pounds (>= 0).
|
pure virtual |
S&P Willpower sub-ability (split of Wisdom).
|
pure virtual |
Wisdom (1..25).
|
pure virtual |
Derived Wisdom stats (CR: off Wisdom; S&P: Intuition + Willpower).
By value.
|
pure virtual |
true if GetFamilyId() is non-zero AND the family record exists.
|
pure virtual |
True if key is already present.
|
pure virtual |
Unarmed combat: martial arts.
|
pure virtual |
Set martial-arts ability.
|
pure virtual |
Unarmed combat: punching.
|
pure virtual |
Set punching ability.
|
pure virtual |
Unarmed combat: wrestling.
|
pure virtual |
Set wrestling ability.
|
pure virtual |
True when the portrait is NOT a base image for the character's race (custom image, or race unresolvable).
A blank filename counts as base (not custom).
|
pure virtual |
true if any field on this record (own state, the internal extension, adventures, or any of the nine inventory bundles) has been mutated since the last MarkClean() or successful save.
|
pure virtual |
Convenience predicate (GetGender() == 0).
|
pure virtual |
true if the character is left-handed.
|
pure virtual |
Set handedness via the left-handed predicate.
|
pure virtual |
Convenience predicate (GetGender() != 0).
|
pure virtual |
true if this is an NPC roster entry (DM-side).
|
pure virtual |
Set the NPC flag. Refreshes the MiniOb's cached NPC state.
|
pure virtual |
true if the character is right-handed (predicate-setter style).
|
pure virtual |
Set handedness via the right-handed predicate.
|
pure virtual |
Shield-Body proficiency.
|
pure virtual |
Set Shield-Body proficiency.
|
pure virtual |
Shield-Buckler proficiency.
|
pure virtual |
Set Shield-Buckler proficiency.
|
pure virtual |
Shield-Medium proficiency.
|
pure virtual |
Set Shield-Medium proficiency.
|
pure virtual |
Shield-Small proficiency.
|
pure virtual |
Set Shield-Small proficiency.
|
pure virtual |
Optional rule: use high-Intelligence wizard bonus spells.
|
pure virtual |
Set the high-Int wizard-bonus opt-in flag.
|
pure virtual |
Optional rule: use Spell Points (S&P alternative magic).
|
pure virtual |
Set the Spell Points opt-in flag.
|
pure virtual |
Recursively clear the dirty flag on self + extension + bundles.
|
pure virtual |
true if the character is no longer in play.
|
pure virtual |
Set if the character is no longer in play.
|
pure virtual |
Remove (and delete) the adventure at the given index.
|
pure virtual |
by name
|
pure virtual |
Remove at index.
|
pure virtual |
by name
|
pure virtual |
Remove worn armor item at index.
|
pure virtual |
by name
|
pure virtual |
Remove at index.
|
pure virtual |
Remove a class by name; compacts the roster (and every per-slot array) and decrements the count.
Won't remove the last class.
|
pure virtual |
by name (removes all matches); false if none
|
pure virtual |
by index
|
pure virtual |
by name
|
pure virtual |
Remove disadvantage at index.
|
pure virtual |
Remove a style and compact the array (shift the rest up).
|
pure virtual |
by name
|
pure virtual |
Remove known priest spell at index.
|
pure virtual |
by name
|
pure virtual |
Remove the wizard spell at index from the spell book.
|
pure virtual |
by name
|
pure virtual |
Remove language at index.
|
pure virtual |
by name
|
pure virtual |
by index
|
pure virtual |
by name
|
pure virtual |
by index
|
pure virtual |
Remove memorized priest spell at (slot, level, index).
|
pure virtual |
Remove memorized wizard spell at (slot, level, index).
|
pure virtual |
by name
|
pure virtual |
by index
|
pure virtual |
by name
|
pure virtual |
Remove at index.
|
pure virtual |
Remove NWP score at index.
|
pure virtual |
by name
|
pure virtual |
Remove the racial ability at the given index.
|
pure virtual |
Remove secondary NWP score at index.
|
pure virtual |
by name
|
pure virtual |
Remove at index.
|
pure virtual |
by name
|
pure virtual |
Remove at index.
|
pure virtual |
by name
|
pure virtual |
Remove at index.
|
pure virtual |
by name
|
pure virtual |
Remove trait at index.
|
pure virtual |
by name
|
pure virtual |
Remove the weapon proficiency at the given index.
|
pure virtual |
Slot-indexed ability setter.
|
pure virtual |
Set age.
|
pure virtual |
Set Aim.
|
pure virtual |
Set the alignment.
|
pure virtual |
Set Appearance.
|
pure virtual |
Set Balance.
|
pure virtual |
Rename the character (uniqueness-checked).
| v | Proposed name. |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Set Charisma.
|
pure virtual |
Set the composed class display. Refreshes MiniOb's ddi_Class.
|
pure virtual |
Set the kit. Refreshes MiniOb's ddi_Kit.
|
pure virtual |
Set the complexion.
|
pure virtual |
Set Constitution.
|
pure virtual |
Set the version string.
|
pure virtual |
Set the current hit points.
|
pure virtual |
Set the date of birth. Zeros FamilyId when v is non-empty.
|
pure virtual |
Set Dexterity.
|
pure virtual |
Set XP for the given class slot.
|
pure virtual |
Set Expertise.
|
pure virtual |
Set the eye color.
|
pure virtual |
Set the family link.
Clears DOB + place-of-birth when non-zero.
|
pure virtual |
Set Fitness.
|
pure virtual |
Set the free-NWP-by-kit string.
|
pure virtual |
Set gender (any long value accepted verbatim).
|
pure virtual |
Set Grand Mastery weapon.
|
pure virtual |
Set the hair color.
|
pure virtual |
Set Health.
|
pure virtual |
Set height.
|
pure virtual |
Set High Mastery weapon.
|
pure virtual |
Set History.
|
pure virtual |
Set rolled HP for the given class slot + level.
|
pure virtual |
Set Intelligence.
|
pure virtual |
Set Intuition.
|
pure virtual |
Set Knowledge.
|
pure virtual |
Set Leadership.
|
pure virtual |
Set Major Life Event.
|
pure virtual |
Set the missile-focus weapon.
|
pure virtual |
Set Muscle.
|
pure virtual |
Set the party. Refreshes MiniOb's cached party + ddi_Party.
|
pure virtual |
Set the place of birth. Zeros FamilyId when v is non-empty.
|
pure virtual |
Set the player name. Refreshes the MiniOb's ddi_PlayerName.
|
pure virtual |
Set the discriminator.
Refreshes the MiniOb's ddi_CharacterType.
|
pure virtual |
Set the portrait directory.
|
pure virtual |
Set the portrait filename.
|
pure virtual |
Set the race. Refreshes MiniOb's cached race + ddi_Race.
|
pure virtual |
Set Reason.
|
pure virtual |
Set Social Standing.
|
pure virtual |
Set Stamina.
|
pure virtual |
Set Strength.
|
pure virtual |
Set Strength Modifier.
|
pure virtual |
Set the sub-race.
|
pure virtual |
Set the racial-focus weapon.
|
pure virtual |
Set Weapon Mastery.
|
pure virtual |
Set Weapon of Choice.
|
pure virtual |
Set weight.
|
pure virtual |
Set Willpower.
|
pure virtual |
Set Wisdom.
|
pure virtual |
Does the character meet the named kit's requirements?
Pure query; checks every gate and returns the first failure (Kit_OK if all pass). Consumer decides which failures it enforces.