Core Rules
WoTC AD&D 2nd Edition -- Drakein API Reference
Loading...
Searching...
No Matches
CoreRules::IEncounterNPCOb Class Referenceabstract

Named NPC reference (name + race + 5-slot multi-class). More...

#include <IEncounterNPCOb.h>

Public Types

enum  { kClassSlots = 5 }
 Maximum multi-class slot count for this NPC (matches CR's 5-slot layout). More...

Public Member Functions

virtual ~IEncounterNPCOb ()
virtual const char * GetName () const =0
 NPC's name.
virtual void SetName (const char *v)=0
 Set the NPC's name.
virtual const char * GetRace () const =0
 NPC's race.
virtual bool SetRace (const char *v)=0
 Set the NPC's race.
virtual const char * GetClass (int i) const =0
 Class name at slot i ([0, kClassSlots)). Empty string for unused slot.
virtual bool SetClass (int i, const char *v)=0
 Set the class name at slot i.
virtual long GetLevel (int i) const =0
 Level in class slot i. -1 for unused slot.
virtual bool SetLevel (int i, long v)=0
 Set the level for class slot i.
virtual bool IsDirty () const =0
 true if any field has been mutated since the last MarkClean / load.
virtual void MarkClean ()=0
 Clear the dirty flag.
virtual IEncounterNPCObClone () const =0
 Deep copy. Caller releases via DestroyEncounterNPCOb.

Detailed Description

Named NPC reference (name + race + 5-slot multi-class).

Created and owned by an IEncTemplateNPCPropertiesOb; consumers don't construct these directly.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Maximum multi-class slot count for this NPC (matches CR's 5-slot layout).

Enumerator
kClassSlots 

Constructor & Destructor Documentation

◆ ~IEncounterNPCOb()

virtual CoreRules::IEncounterNPCOb::~IEncounterNPCOb ( )
inlinevirtual

Member Function Documentation

◆ Clone()

virtual IEncounterNPCOb * CoreRules::IEncounterNPCOb::Clone ( ) const
pure virtual

Deep copy. Caller releases via DestroyEncounterNPCOb.

◆ GetClass()

virtual const char * CoreRules::IEncounterNPCOb::GetClass ( int i) const
pure virtual

Class name at slot i ([0, kClassSlots)). Empty string for unused slot.

◆ GetLevel()

virtual long CoreRules::IEncounterNPCOb::GetLevel ( int i) const
pure virtual

Level in class slot i. -1 for unused slot.

◆ GetName()

virtual const char * CoreRules::IEncounterNPCOb::GetName ( ) const
pure virtual

NPC's name.

◆ GetRace()

virtual const char * CoreRules::IEncounterNPCOb::GetRace ( ) const
pure virtual

NPC's race.

◆ IsDirty()

virtual bool CoreRules::IEncounterNPCOb::IsDirty ( ) const
pure virtual

true if any field has been mutated since the last MarkClean / load.

◆ MarkClean()

virtual void CoreRules::IEncounterNPCOb::MarkClean ( )
pure virtual

Clear the dirty flag.

◆ SetClass()

virtual bool CoreRules::IEncounterNPCOb::SetClass ( int i,
const char * v )
pure virtual

Set the class name at slot i.

Returns
false on bad slot / unknown class / duplicate / gap.

◆ SetLevel()

virtual bool CoreRules::IEncounterNPCOb::SetLevel ( int i,
long v )
pure virtual

Set the level for class slot i.

Returns
false on bad slot or v < -1.

◆ SetName()

virtual void CoreRules::IEncounterNPCOb::SetName ( const char * v)
pure virtual

Set the NPC's name.

◆ SetRace()

virtual bool CoreRules::IEncounterNPCOb::SetRace ( const char * v)
pure virtual

Set the NPC's race.

Returns
false if non-empty and not in Race_Record.

The documentation for this class was generated from the following file: