Skip to main content

Character

NPC Character extension

Hierarchy

Index

Properties

Accessors

Methods

Properties

AccountName

AccountName: string

The character's account name

Note that it's only meaningful for the logged in player as the server never provides account names. Online characters will use "Online-" plus their character ID, NPCs will have their dialog identifier, and simple characters set it to CharacterID.

ActivePoseMapping

ActivePoseMapping: Partial<Record<keyof AssetPoseMap, AssetPoseName>>

A record mapping pose categories to the last manually enabled pose belonging to it.

Note that these poses are by no means guaranted to be enabled, as they do not reflect any item-specific automatic pose changes (see PoseMapping).

AllowItem

AllowItem: boolean

optionalAllowMove

AllowMove?: boolean

AllowedActivePoseMapping

AllowedActivePoseMapping: Partial<Record<keyof AssetPoseMap, AssetPoseName[]>>

A record mapping pose categories to all allowed poses belonging to it.

A value of null implies that all poses within the category are allowed.

@see

ItemProperties.AllowActivePose - The item-/asset-level equivalent of this property

Appearance

Appearance: Item[]

optionalAppearanceFull

AppearanceFull?: Item[]

optionalAppearanceLayers

AppearanceLayers?: Mutable<AssetLayer>[]

optionalArchetype

Archetype?: NPCArchetype

NPC type: Slave, Maid, etc.

optionalArousalSettings

ArousalSettings?: ArousalSettingsType

optionalArousalZoom

ArousalZoom?: boolean

AssetFamily

AssetFamily: Female3DCG

The asset family used by the character

Attribute

Attribute: AssetAttribute[]

BlackList

BlackList: number[]

BlinkFactor

BlinkFactor: number

optionalBlockItems

BlockItems?: never
@deprecated

optionalCage

Cage?: boolean

CanChangeClothesOn

CanChangeClothesOn: (C: Character) => boolean

Check whether a character can change another one's outfit.


Type declaration

CanChangeOwnClothes

CanChangeOwnClothes: () => boolean

Check whether a character can change its own outfit.

@warning

Only usable on Player

@returns
  • TRUE if changing is possible, FALSE otherwise.

Type declaration

    • (): boolean
    • Returns boolean

CanChangeToPose

CanChangeToPose: (Pose: AssetPoseName) => boolean

Type declaration

CanInteract

CanInteract: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

CanKneel

CanKneel: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

CanPickLocks

CanPickLocks: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

CanTalk

CanTalk: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

CanWalk

CanWalk: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

Canvas

Canvas: HTMLCanvasElement

CanvasBlink

CanvasBlink: HTMLCanvasElement

CharacterID

CharacterID: string

The unique identifier for the character

A value of "" indicates the player before the login happens

optionalCrafting

Crafting?: CraftingItem[]

optionalCreation

Creation?: number

CurrentDialog

CurrentDialog: string

optionalCurrentTraining

CurrentTraining?: number

optionalCustomBackground

CustomBackground?: string

The custom background to use for the current room Only valid on Player

optionalDescription

Description?: string

Dialog

Dialog: DialogLine[]

optionalDialogInfo

DialogInfo?: DialogInfo

The character's loaded dialog info

optionalDifficulty

Difficulty?: { LastChange?: number; Level: number }

Type declaration

  • optionalLastChange?: number
  • Level: number

optionalDrawAppearance

DrawAppearance?: Item[]

DrawPoseMapping

DrawPoseMapping: Partial<Record<keyof AssetPoseMap, AssetPoseName>>

A record mapping pose categories to something something.

optionalDrinkValue

DrinkValue?: number

Effect

Effect: EffectName[]

optionalExpectedTraining

ExpectedTraining?: number

optionalExpressionQueue

ExpressionQueue?: ExpressionQueueItem[]

optionalFavoriteItems

FavoriteItems?: never
@deprecated

optionalFixedImage

FixedImage?: string

FocusGroup

FocusGroup: AssetItemGroup

optionalFriendship

Friendship?: string

optionalFromPandora

FromPandora?: boolean

optionalGame

GetBlindLevel

GetBlindLevel: (eyesOnly?: boolean) => number

Type declaration

    • (eyesOnly?: boolean): number
    • Parameters

      • optionaleyesOnly: boolean

      Returns number

GetBlurLevel

GetBlurLevel: () => number

Type declaration

    • (): number
    • Returns number

GetClumsiness

GetClumsiness: () => number

Type declaration

    • (): number
    • Returns number

GetDeafLevel

GetDeafLevel: () => number

Type declaration

    • (): number
    • Returns number

GetDifficulty

GetDifficulty: () => number

Type declaration

    • (): number
    • Returns number

GetGenders

GetGenders: () => AssetGender[]

Type declaration

GetLoversNumbers

GetLoversNumbers: (MembersOnly?: boolean) => (string | number)[]

Returns the list of member numbers (or names, for NPCs) the character is in love with


Type declaration

    • (MembersOnly?: boolean): (string | number)[]
    • Parameters

      • optionalMembersOnly: boolean

      Returns (string | number)[]

GetLovership

GetLovership: (MembersOnly?: boolean) => Lovership[]

Returns the lovership data for the character


Type declaration

    • Parameters

      • optionalMembersOnly: boolean

      Returns Lovership[]

GetPronouns

GetPronouns: () => CharacterPronouns

Type declaration

GetSlowLevel

GetSlowLevel: () => number

Type declaration

    • (): number
    • Returns number

GetTints

GetTints: () => RGBAColor[]

Type declaration

HasAttribute

HasAttribute: (attribute: AssetAttribute) => boolean

Type declaration

HasEffect

HasEffect: (Effect: EffectName) => boolean

Type declaration

HasHiddenItems

HasHiddenItems: boolean

HasNoItem

HasNoItem: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

HasPenis

HasPenis: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

optionalHasScriptedAssets

HasScriptedAssets?: boolean

HasTints

HasTints: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

HasVagina

HasVagina: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

HeightModifier

HeightModifier: number

HeightRatio

HeightRatio: number

optionalHeightRatioProportion

HeightRatioProportion?: number

optionalHiddenItems

HiddenItems?: never
@deprecated

Hooks

Hooks: Map<CharacterHook, Map<string, () => void>>

optionalHouse

ID

ID: number

The character's cache slot ID in the Character array

Usually meaningless, except that ID 0 is always the player, but please use IsPlayer() instead of checking that.

optionalInterviewCleanCount

InterviewCleanCount?: number

Inventory

Inventory: InventoryItem[]

optionalInventoryData

InventoryData?: string

IsAssFull

IsAssFull: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsBirthday

IsBirthday: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsBlind

IsBlind: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsBreastChaste

IsBreastChaste: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsButtChaste

IsButtChaste: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsChaste

IsChaste: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsDeaf

IsDeaf: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsEdged

IsEdged: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsEgged

IsEgged: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsEnclose

IsEnclose: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsFamilyOfPlayer

IsFamilyOfPlayer: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsFixedHead

IsFixedHead: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsFlatChested

IsFlatChested: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsFullyOwned

IsFullyOwned: () => boolean

Whether the character has completed their ownership trial


Type declaration

    • (): boolean
    • Returns boolean

IsGagged

IsGagged: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsInFamilyOfMemberNumber

IsInFamilyOfMemberNumber: (MemberNum: number) => boolean

Type declaration

    • (MemberNum: number): boolean
    • Parameters

      • MemberNum: number

      Returns boolean

IsInverted

IsInverted: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsKneeling

IsKneeling: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsLocked

IsLocked: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsLover

IsLover: (C: Character) => boolean
@deprecated

Use IsLoverOfCharacter()


Type declaration

IsLoverOfCharacter

IsLoverOfCharacter: (C: Character) => boolean

Whether the character is in love with the given character


Type declaration

IsLoverOfMemberNumber

IsLoverOfMemberNumber: (memberNumber: number) => boolean

Whether the character is in love with the given character, number form


Type declaration

    • (memberNumber: number): boolean
    • Parameters

      • memberNumber: number

      Returns boolean

IsLoverOfPlayer

IsLoverOfPlayer: () => boolean

Whether the character is in love with the player


Type declaration

    • (): boolean
    • Returns boolean

IsMounted

IsMounted: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsMouthBlocked

IsMouthBlocked: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsMouthOpen

IsMouthOpen: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsNaked

IsNaked: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsNpc

IsNpc: () => this is NPCCharacter

Type declaration

IsOnline

IsOnline: () => this is Character

Type declaration

IsOwned

IsOwned: () => false | online | npc | ggts | player

Whether the character is owned, and who owns it


Type declaration

    • (): false | online | npc | ggts | player
    • Returns false | online | npc | ggts | player

IsOwnedByCharacter

IsOwnedByCharacter: (C: Character) => boolean

Whether the character is owned by the given character


Type declaration

IsOwnedByMemberNumber

IsOwnedByMemberNumber: (memberNumber: number) => boolean

Whether the character is owned by the given character, number form


Type declaration

    • (memberNumber: number): boolean
    • Parameters

      • memberNumber: number

      Returns boolean

IsOwnedByPlayer

IsOwnedByPlayer: () => boolean

Whether the player owns that character


Type declaration

    • (): boolean
    • Returns boolean

IsOwner

IsOwner: () => boolean

Whether the given character owns the player


Type declaration

    • (): boolean
    • Returns boolean

IsPlayer

IsPlayer: () => this is PlayerCharacter

Type declaration

IsPlugged

IsPlugged: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsRestrained

IsRestrained: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsShackled

IsShackled: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsSiblingOfCharacter

IsSiblingOfCharacter: (C: Character) => boolean

Type declaration

IsSimple

IsSimple: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsSlow

IsSlow: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsStanding

IsStanding: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsSuspended

IsSuspended: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsVulvaChaste

IsVulvaChaste: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

IsVulvaFull

IsVulvaFull: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

optionalItemPermission

ItemPermission?: 0 | 1 | 2 | 3 | 4 | 5

optionalKidnapCard

KidnapCard?: KidnapCard[]

optionalKidnapMaxWillpower

KidnapMaxWillpower?: number

optionalKidnapStat

KidnapStat?: [number, number, number, number]

optionalKidnapWillpower

KidnapWillpower?: number

optionalLabelColor

LabelColor?: string

optionalLastActivity

LastActivity?: PandoraPrisonActivity

optionalLastMapData

LastMapData?: ChatRoomMapData

optionalLimitedItems

LimitedItems?: never
@deprecated

optionalLove

Love?: number

Lover

Lover: string

LoverName

LoverName: () => string

The character's lover name. NPC-only


Type declaration

    • (): string
    • Returns string

optionalLovership

Lovership?: Lovership[]

optionalMapData

MapData?: ChatRoomMapData

optionalMemberNumber

MemberNumber?: number

Money

Money: number

MustDraw

MustDraw: boolean

Name

Name: string

optionalNickname

Nickname?: string

optionalOnlineID

OnlineID?: string

A deprecated identifier for online characters Only exists on the player, has the same value as their character ID.

@deprecated

optionalOnlineSharedSettings

OnlineSharedSettings?: CharacterOnlineSharedSettings

optionalOrgasmDone

OrgasmDone?: boolean

optionalOrgasmMeter

OrgasmMeter?: number

OwnedSince

OwnedSince: () => number

The number of days since the character has been owned (-1 means not owned)


Type declaration

    • (): number
    • Returns number

Owner

Owner: string

OwnerName

OwnerName: () => string

The name of this character's owner


Type declaration

    • (): string
    • Returns string

OwnerNumber

OwnerNumber: () => number

The character's owner number. Might be -1 for non-online characters


Type declaration

    • (): number
    • Returns number

optionalOwnership

Ownership?: Ownership

PermissionItems

PermissionItems: Partial<Record<`BodyUpper/${string}` | `BodyLower/${string}` | `Eyebrows/${string}` | `Eyes/${string}` | `Eyes2/${string}` | `Mouth/${string}` | `Pussy/${string}` | `Blush/${string}` | `Fluids/${string}` | `Emoticon/${string}` | `BodyMarkings/${string}` | `Bra/${string}` | `Bracelet/${string}` | `Cloth/${string}` | `ClothAccessory/${string}` | `ClothLower/${string}` | `Corset/${string}` | `EyeShadow/${string}` | `FacialHair/${string}` | `Garters/${string}` | `Glasses/${string}` | `Gloves/${string}` | `HairAccessory1/${string}` | `HairAccessory2/${string}` | `HairAccessory3/${string}` | `HairBack/${string}` | `HairFront/${string}` | `Hands/${string}` | `Hat/${string}` | `Head/${string}` | `Height/${string}` | `Jewelry/${string}` | `LeftAnklet/${string}` | `LeftHand/${string}` | `Mask/${string}` | `Necklace/${string}` | `Nipples/${string}` | `Panties/${string}` | `Pronouns/${string}` | `RightAnklet/${string}` | `RightHand/${string}` | `Shoes/${string}` | `Socks/${string}` | `SocksLeft/${string}` | `SocksRight/${string}` | `Suit/${string}` | `SuitLower/${string}` | `TailStraps/${string}` | `Wings/${string}` | `ItemAddon/${string}` | `ItemArms/${string}` | `ItemBoots/${string}` | `ItemBreast/${string}` | `ItemButt/${string}` | `ItemDevices/${string}` | `ItemEars/${string}` | `ItemFeet/${string}` | `ItemHands/${string}` | `ItemHead/${string}` | `ItemHood/${string}` | `ItemLegs/${string}` | `ItemMisc/${string}` | `ItemMouth/${string}` | `ItemMouth2/${string}` | `ItemMouth3/${string}` | `ItemNeck/${string}` | `ItemNeckAccessories/${string}` | `ItemNeckRestraints/${string}` | `ItemNipples/${string}` | `ItemNipplesPiercings/${string}` | `ItemNose/${string}` | `ItemPelvis/${string}` | `ItemTorso/${string}` | `ItemTorso2/${string}` | `ItemVulva/${string}` | `ItemVulvaPiercings/${string}` | `ItemHandheld/${string}` | `ItemScript/${string}`, ItemPermissions>>

A record with all asset- and type-specific permission settings

PoseMapping

PoseMapping: Partial<Record<keyof AssetPoseMap, AssetPoseName>>

A record mapping pose categories to the currently enabled pose belonging to it.

@see

ItemProperties.SetPose - The item-/asset-level equivalent of this property

optionalPrivateBed

PrivateBed?: boolean

optionalPrivateBedActivityTimer

PrivateBedActivityTimer?: number

optionalPrivateBedAppearance

PrivateBedAppearance?: string

optionalPrivateBedLeft

PrivateBedLeft?: number

optionalPrivateBedMoveTimer

PrivateBedMoveTimer?: number

optionalPrivateBedTop

PrivateBedTop?: number

optionalQuizFail

QuizFail?: number

optionalQuizLog

QuizLog?: number[]

optionalRandomOdds

RandomOdds?: number

optionalRecruit

Recruit?: number

optionalRecruitOdds

RecruitOdds?: number

RegisterHook

RegisterHook: (hookName: CharacterHook, hookInstance: string, callback: () => void) => boolean

Type declaration

    • (hookName: CharacterHook, hookInstance: string, callback: () => void): boolean
    • Parameters

      Returns boolean

Reputation

Reputation: Reputation[]

optionalRule

Rule?: LogRecord[]

RunHooks

RunHooks: (hookName: CharacterHook) => void

Type declaration

optionalRunScripts

RunScripts?: boolean

SavedColors

SavedColors: HSVColor[]

Skill

Skill: Skill[]

Stage

Stage: string

optionalStatus

Status?: string

optionalStatusTimer

StatusTimer?: number

Tints

optionalTitle

Title?: TitleName

optionalTrainingCount

TrainingCount?: number

optionalTrainingCountHigh

TrainingCountHigh?: number

optionalTrainingCountLow

TrainingCountLow?: number

optionalTrainingCountPerfect

TrainingCountPerfect?: number

optionalTrainingIntensity

TrainingIntensity?: number

optionalTriggerIntro

TriggerIntro?: boolean

Type

The type of character: online, npc, or simple

UnregisterHook

UnregisterHook: (hookName: CharacterHook, hookInstance: string) => boolean

Type declaration

WhiteList

WhiteList: number[]

Accessors

ActivePose

  • Get a copy or set the array of the last set of manually activated poses.

    Note that these poses are by no means guaranted to be enabled, as they do not reflect any item-specific automatic pose changes (see Pose).

    @see

    ActivePoseMapping - The underlying record of this property, usage of which is recommended


    Returns readonly AssetPoseName[]

  • Parameters

    Returns void

AllowedActivePose

  • Get a copy or set the array of the last of a subset of all allowed poses.

    Only guaranteed to reflect the total number of allowed poses if, for a given pose category, at least one pose is allowed.

    @see

    ActivePoseMapping - The underlying record of this property, usage of which is recommended


    Returns readonly AssetPoseName[]

  • Parameters

    Returns void

DrawPose

  • Get a copy or set the array of something something poses.

    @see

    DrawPoseMapping - The underlying record of this property, usage of which is recommended


    Returns readonly AssetPoseName[]

  • Parameters

    Returns void

Pose

  • Get a copy or set the array of currently enabled poses.

    @see

    PoseMapping - The underlying record of this property, usage of which is recommended


    Returns readonly AssetPoseName[]

  • Parameters

    Returns void

Methods

optionalWillRelease

  • WillRelease(): boolean
  • Returns boolean

Page Options