ItemProperty
Index
Interfaces
Entry
Type parameters
- T: keyof ItemProperties
optionalreadonlycompare
Property comparison function
Type declaration
Parameters
this: PropertyDataEntry<T>
prop1: NonNullable<ItemProperties[T]>
The first to-be compared property
prop2: NonNullable<ItemProperties[T]>
The second to-be compared property
itemData: DataBundle
The asset
Returns boolean
whether both properties are equivalent
optionalreadonlycompress
Property compression function
Type declaration
Parameters
this: PropertyDataEntry<T>
property: NonNullable<ItemProperties[T]>
The item property value
itemData: DataBundle
The asset
optionaldefaults: ItemProperties[T]
The default value of the property (if any)
Returns ItemPropertiesMinimized
The compressed property
optionalreadonlydecompress
Property decompression function
Type declaration
Parameters
this: PropertyDataEntry<T>
property: NonNullable<ItemProperties[T] | ItemPropertiesMinimized[T]>
The item property value. This property value should be compressed though decompressed value must be handled correctly.
itemData: DataBundle
The asset
Returns ItemProperties
The decompressed property
optionalreadonlydifference
Property difference function
Type declaration
Parameters
this: PropertyDataEntry<T>
properties: readonly [NonNullable<ItemProperties[T]>, NonNullable<ItemProperties[T]>, NonNullable<ItemProperties[T]>]
The to-be subtracted property values; guaranteed to contain at least one element
itemData: DataBundle
The asset
Returns ItemProperties[T]
The differenced property
optionalreadonlyisSubset
Check whether an object is a (deep) subset of, or equivalent to, another (i.e. a non-proper subset)
Type declaration
Parameters
this: PropertyDataEntry<T>
subProp: NonNullable<ItemProperties[T]>
The first to-be compared property
superProp: NonNullable<ItemProperties[T]>
The second to-be compared property
itemData: DataBundle
The asset
Returns boolean
whether both properties are equivalent or form a subset
readonlymetaData
Property-specific meta data (e.g. minimum and maximum values)
optionalreadonlyunion
Property merging function
Type declaration
Parameters
this: PropertyDataEntry<T>
properties: readonly [NonNullable<ItemProperties[T]>, NonNullable<ItemProperties[T]>]
The to-be merged property values; guaranteed to contain at least one element
itemData: DataBundle
The asset
Returns ItemProperties[T]
The merged property
optionalreadonlyvalidate
Property validation function
Type declaration
Parameters
this: PropertyDataEntry<T>
prop: NonNullable<ItemProperties[T]>
The property
itemData: DataBundle
The asset
optionaldefaults: ItemProperties[T]
The default value of the property (if any)
Returns ValidationOutput<ItemProperties[T]>
The validated property, validation status and an optional error message
EntryNullable
An interface representing the PropertyDataEntry class.
Compared to Entry function parameter types are generally a bit broader, being able to handle a wider range of nullish values
Type parameters
- T: keyof ItemProperties
readonlycompare
Property comparison function
Type declaration
Parameters
this: PropertyDataEntry<T>
prop1: ItemProperties[T]
The first to-be compared property
prop2: ItemProperties[T]
The second to-be compared property
itemData: DataBundle
The asset
Returns boolean
whether both properties are equivalent
readonlycompress
Property compression function
Type declaration
Parameters
this: PropertyDataEntry<T>
property: ItemProperties[T]
The item property value
itemData: DataBundle
The asset
optionaldefaults: ItemProperties[T]
The default value of the property (if any)
Returns ItemPropertiesMinimized
The compressed property
readonlydecompress
Property decompression function
Type declaration
Parameters
this: PropertyDataEntry<T>
property: ItemProperties[T] | ItemPropertiesMinimized[T]
The item property value. This property value should be compressed though decompressed value must be handled correctly.
itemData: DataBundle
The asset
Returns ItemProperties
The decompressed property
readonlydifference
Property difference function
Type declaration
Parameters
this: PropertyDataEntry<T>
properties: readonly ItemProperties[T][]
The to-be merged property values
itemData: DataBundle
The asset
Returns ItemProperties[T]
The differenced property
readonlyisSubset
Check whether an object is a (deep) subset of, or equivalent to, another (i.e. a non-proper subset)
Type declaration
Parameters
this: PropertyDataEntry<T>
subProp: ItemProperties[T]
The first to-be compared property
superProp: ItemProperties[T]
The second to-be compared property
itemData: DataBundle
The asset
Returns boolean
whether both properties are equivalent or form a subset
readonlymetaData
Property-specific meta data (e.g. minimum and maximum values)
readonlyunion
Property merging function
Type declaration
Parameters
this: PropertyDataEntry<T>
properties: readonly ItemProperties[T][]
The to-be merged property values
itemData: DataBundle
The asset
Returns ItemProperties[T]
The merged property
readonlyvalidate
Property validation function
Type declaration
Parameters
this: PropertyDataEntry<T>
prop: ItemProperties[T]
The property
itemData: DataBundle
The asset
optionaldefaults: ItemProperties[T]
The default value of the property (if any)
Returns ValidationOutput<ItemProperties[T]>
The validated property, validation status and an optional error message
MetaData
All allowed property-specific metadata keys
optionaldefaultNumber
Default value of numeric properties
optionalisInteger
Whether the numeric value represents an integer
optionalmax
Maximum value of numeric properties. Must be smaller than or equal to 2**15 - 1.
optionalmin
Minimum value of numeric properties. Must be larger than or equal to -2**15.
PropertyMetaData
Item property specific metadata keys
optionalinheritedAccessMode
A string denoting who has permission to use the vibrator's trigger words
optionalinheritedAllowActivePose
A list of poses
See more at Asset.AllowActivePose
optionalinheritedAllowActivity
A list of allowed activities
See more at Asset.AllowActivity
optionalinheritedAllowActivityOn
A list of groups allowed activities
See more at Asset.AllowActivityOn
optionalinheritedArousalLvl
A threshold passing which going to trigger auto shrink/warning
optionalinheritedAttribute
???
See more at Asset.Attribute
optionalinheritedAutoPunish
The item's auto-punishment sensitivity
optionalinheritedAutoPunishUndoTime
The remaining time for the gag's auto-inflation
optionalinheritedAutoPunishUndoTimeSetting
The default time for the gag's auto-inflation
optionalinheritedBlinkState
Whether gag's blinking light is on or off
optionalinheritedBlock
The groups that this item blocks
See more at Asset.Block
optionalinheritedBlockRemotes
Whether the usage of remotes is blocked
optionalinheritedCombinationNumber
/^[0-9]{4}$/, Used by CombinationPadlock lock
optionalinheritedCustomBlindBackground
A custom background for this option that overrides the default
undefined means allow any other value. null means disable (swallowing any other value),
'' means solid black, and a string is any background from Backgrounds/.
See more at Asset.CustomBlindBackground
optionalinheritedDefaultColor
The default color of the item. Used by extended items that need one of their layers to have a different per-type default color FIXME: That should be hoisted in the extended config, since it's set by the definition and Item.Color should be the actual colors used
See more at Asset.DefaultColor
optionalinheritedDifficulty
The difficulty of the item
See more at Asset.Difficulty
optionalinheritedDoor
Whether the kennel door is open
optionalinheritedDrawingLeft
Override the left-position of a layer. A value of AssetOverride will be override the relative position of each and every layer individually.
Deprecated - Superseded by ItemProperties.TranslationX and ItemProperties.LayerTranslationX
optionalinheritedDrawingTop
Override the top-position of a layer. A value of AssetOverride will be override the relative position of each and every layer individually.
Deprecated - Superseded by ItemProperties.TranslationY and ItemProperties.LayerTranslationY
optionalinheritedEffect
Effects that are applied by this item
See more at Asset.Effect
optionalinheritedEnableRandomInput
Enable input; used by LoversTimerPadlock, MistressTimerPadlock, OwnerTimerPadlock, TimerPasswordPadlock
optionalinheritedExpression
A facial expression
optionalinheritedFetish
A list of fetishes affected by the item
See more at Asset.Fetish
optionalinheritedHeartRate
The futuristic bra's heart rate value
optionalinheritedHeightModifier
How much the character should be moved up
See more at Asset.HeightModifier
optionalinheritedHide
Items groups that should be hidden by this item
See more at Asset.Hide
optionalinheritedHideItem
Items that should be hidden by this item
See more at Asset.HideItem
optionalinheritedHideItemExclude
Items that should not be hidden by this item
See more at Asset.HideItemExclude
optionalinheritedHint
Used by PasswordPadlock, SafewordPadlock and TimerPasswordPadlock locks
optionalinheritedInflateLevel
The inflation level of inflatable items
optionalinheritedInsertedBeads
The number of inserted beads
optionalinheritedIntensity
The vibrator intensity
optionalinheritedIsLeashed
Unused within ItemProperties; see ItemPropertiesMinimized
optionalinheritedIterations
Number of times the suitcase got cracked
optionalinheritedLastShrinkWarningTime
Time when last shrink warning happened
LayerRotation
Rotation
LayerScaleX
Scale X
LayerScaleY
Scale Y
LayerTranslationX
LayerTranslationY
Translation Y
optionalinheritedLockButt
Whether the item blocks access to the butt
optionalinheritedLockedBy
Asset name of the lock
optionalinheritedLockMemberName
The member name of the person that applied the lock
optionalinheritedLockMemberNumber
The member number of the person that applied the lock. If set to a positive number, LockMemberName is the name of the character that added the lock. Otherwise it's either -1 and the name of an NPC, or null and a message.
optionalinheritedLockMessage
A short message describing where the lock comes from. Only used by the Nursery and KD
optionalinheritedLockPickSeed
Comma separated numbers
optionalinheritedLockSet
Used by PasswordPadlock, SafewordPadlock and TimerPasswordPadlock locks; if the lock has been set with password
optionalinheritedMemberNumberList
List of people who publicly modified time on lock; used by LoversTimerPadlock, MistressTimerPadlock, OwnerTimerPadlock, TimerPasswordPadlock
optionalinheritedMemberNumberListKeys
Comma separated numbers; used by HighSecurityPadlock
optionalinheritedMode
The vibrator mode
optionalinheritedNextShockTime
Internal cooldown timer for automatic shocks
optionalinheritedNextShrinkTime
Time when autoshrink will happen
optionalinheritedOpacity
The asset's draw opacity
See more at Asset.Opacity
optionalinheritedOpenPermission
Whether all players can use futuristic head devices
optionalinheritedOpenPermissionArm
Whether all players can use futuristic arm devices
optionalinheritedOpenPermissionChastity
Whether all players can use futuristic chastity devices
optionalinheritedOpenPermissionLeg
Whether all players can use futuristic leg devices
optionalinheritedOrgasmCount
Modular Belt: Number of times the wearer had orgasm;
optionalinheritedOriginalSetting
The gag module-index prior to triggering auto-inflation
optionalinheritedOverrideHeight
Override the height of the item
See more at Asset.OverrideHeight
optionalinheritedOverridePriority
The drawing priority of the item
See more at Asset.OverridePriority
optionalinheritedPadding
Whether the kennel has padding
optionalinheritedPassword
/^[A-Z]{1,8}$/, Used by PasswordPadlock, SafewordPadlock and TimerPasswordPadlock lock
optionalinheritedPortalLinkCode
PortalLink: Used to link a remote to its target asset.
optionalinheritedPublicModeCurrent
The mode of the belts vibrator; represents an index of FuturisticTrainingBeltModes
optionalinheritedPublicModePermission
An integer denoting who can access the belt; represents an index of FuturisticTrainingBeltPermissions
optionalinheritedPunishActivity
Whether performing activities should result in punishment
optionalinheritedPunishOrgasm
Whether orgasms should result in punishment
optionalinheritedPunishProhibitedSpeech
The punishment for speaking a prohibited word; represents an index of FuturisticTrainingBeltSpeechPunishments
optionalinheritedPunishProhibitedSpeechWords
A string with comma-separated prohibited words
optionalinheritedPunishRequiredSpeech
The punishment for not speaking a required word; represents an index of FuturisticTrainingBeltSpeechPunishments
optionalinheritedPunishRequiredSpeechWord
A string with comma-separated required words
optionalinheritedPunishSpeech
The punishment for talking; represents an index of FuturisticTrainingBeltSpeechPunishments
optionalinheritedPunishStandup
Whether standing up should result in punishment
optionalinheritedPunishStruggle
Whether attempting to remove the belt should result in punishment
optionalinheritedPunishStruggleOther
Whether attempting to remove an item in general should result in punishment
optionalinheritedRemoveItem
Whether to remove item on timer lock unlock; used by LoversTimerPadlock, MistressTimerPadlock, OwnerTimerPadlock, TimerPadlock, TimerPasswordPadlock
optionalinheritedRemoveOnUnlock
Only for PasswordPadlock
optionalinheritedRemoveTimer
The timer for after how long until a lock should be removed.
See more at Asset.RemoveTimer
optionalinheritedRevert
Allows reverting back to these properties on exiting an extended menu
optionalinheritedRotation
Rotation is in degrees from -180 to 180
optionalinheritedRuinedOrgasmCount
Modular Belt: Number of times the wearer had ruined orgasm;
optionalinheritedScaleX
Scale is currently limited from 0.01 to 3.00 (3 times the size)
optionalinheritedScaleY
optionalinheritedSelfUnlock
Whether an item can be unlocked by the player even if they're restrained
See more at Asset.SelfUnlock
optionalinheritedSetPose
A list of poses that should forcefully be set
See more at Asset.SetPose
optionalinheritedShockLevel
How intense the shock should be
optionalinheritedShowShrinkText
A boolean to whether show messages related to shrink or warning
optionalinheritedShowText
Whether the item displays a chat message to all other people in the room
optionalinheritedShowTimer
Whether time is shown or "Unknown time left"; used by LoversTimerPadlock, MistressTimerPadlock, OwnerTimerPadlock, TimerPasswordPadlock
optionalinheritedShrinkCooldown
Time before next warning or shrinkage will happen again
optionalinheritedState
The vibrator's state; only relevant for advanced vibrator modes
optionalinheritedSuctionLevel
The suction level of items with a suction effect
optionalinheritedTargetAngle
Lucky Wheel: the angle the wheel should spin to
optionalinheritedText
1st line of text for user-entered text data
optionalinheritedText2
2nd line of text for user-entered text data
optionalinheritedText3
3rd line of text for user-entered text data
optionalinheritedTexts
Lucky Wheel: the section labels
optionalinheritedTimeSinceLastOrgasm
Modular Belt: Amount of time since last detected orgasm;
optionalinheritedTimeWorn
Modular Belt: Amount of time since the item is being worn;
optionalinheritedTint
A list of custom tints
See more at Asset.Tint
optionalinheritedTranslationX
Transformation properties
optionalinheritedTranslationY
optionalinheritedTriggerCount
Number of times the item was triggered; often used by shock collars
optionalinheritedTriggerValues
A comma-separated string with the futuristic vibrator's trigger words
optionalinheritedType
A string (or null) denoting the state of an extended item.
How the type-string translate to concrete properties depends on the Archetype in question.
Deprecated - Superseded by ItemPropertiesBase.TypeRecord. Old type strings can be convert to records via ExtendedItemTypeToRecord.
optionalinheritedTypeRecord
A record mapping screen names to option indices.
optionalinheritedUnHide
Only available as overrides on the script item
ValidationMultiOutput
Validation output for multi-property validation
errorDescriptions
Custom, human-readable description for error statuses
status
The validation status
value
The validated property values
Type Aliases
Compare
Type parameters
- T: keyof ItemProperties
Compress
Type parameters
- T: keyof ItemProperties
DataBundle
Decompress
Type parameters
- T: keyof ItemProperties
Difference
Type parameters
- T: keyof ItemProperties
IsSubset
Type parameters
- T: keyof ItemProperties
MetaDataTemplate
Type parameters
- T
Union
Type parameters
- T: keyof ItemProperties
Validate
Type parameters
- T: keyof ItemProperties
ValidationOutput
Validation output for single-property validation
Type parameters
- T
ValidationStatus
Validation output status
An interface representing constructor input for the PropertyDataEntry class.