Skip to main content

AssetDefinitionBase

Input interface for constructing Asset objects.

Hierarchy

Index

Properties

optionalActivity

Activity?: ActivityName

Applying that asset triggers the following activity

optionalActivityAudio

ActivityAudio?: string[]

Array of sound effects for each one of the item's allowed activities

optionalActivityExpression

ActivityExpression?: Partial<Record<ActivityName, ExpressionTrigger[]>>

The expression on the targeted character

optionalAllowActivePose

AllowActivePose?: AssetPoseName[]

A list of poses that represents all poses that wearing the asset enables.

Automatically concatenated with AssetDefinition.SetPose members.

Contrary to AssetDefinition.AllowPose poses that are absent from this list can not be used.

optionalAllowActivity

AllowActivity?: ActivityName[]

Activities that wearing this asset enables.

optionalAllowActivityOn

AllowActivityOn?: AssetGroupItemName[]

A list of groups that should still be allowed to be acted on even though they should be blocked by the asset.

optionalAllowBlock

AllowBlock?: AssetGroupItemName[]

optionalAllowColorize

AllowColorize?: boolean = true Set to `true`, the target will be colorized when drawing. Set to `false`, the color will be used as part of the image file name. Mainly useful for inheriting the body color around.

Whether that layer is colorized

optionalAllowColorizeAll

AllowColorizeAll?: boolean

Whether the color picker shows a "Whole Item" layer. Defaults to true.

optionalAllowEffect

AllowEffect?: EffectName[]

optionalAllowExpression

AllowExpression?: ExpressionName[]

Which expression the group allows to be set on it

optionalAllowHide

AllowHide?: AssetGroupItemName[]

optionalAllowHideItem

AllowHideItem?: string[]

optionalAllowLock

AllowLock?: boolean

optionalAllowLockType

AllowLockType?: AssetLockType[]

optionalAllowPose

AllowPose?: never

The poses that have pose-specific assets.

Used when building the file paths for the asset's layers.

If a pose is absent then the asset corresponding to the default pose will be used in its place. Note that a pose's absence from this list does not prevent its usage.

@deprecated
  • Superceded by PoseMapping

optionalAllowRemoveExclusive

AllowRemoveExclusive?: boolean

optionalAllowTighten

AllowTighten?: boolean

Whether an item can be tightened or not.

Defaults to false unless one of the following two conditions are met:

  • The item is considered a restraint (see AssetDefinition.IsRestraint)
  • The items difficulty is larger than zero (see AssetDefinition.Difficulty)

optionalAllowTypes

AllowTypes?: never
@deprecated

optionalAlpha

Alpha?: Definition[]

A list of alpha mask definitions.

optionalAlwaysExtend

AlwaysExtend?: boolean

optionalAlwaysInteract

AlwaysInteract?: boolean

optionalArousalZone

ArousalZone?: AssetGroupItemName

optionalArousalZoneID

ArousalZoneID?: number

optionalAttribute

Attribute?: AssetAttribute[]

A list of attributes the asset has

optionalAudio

Audio?: string

optionalAvailableLocations

AvailableLocations?: string[]

A list of online spaces (eg. Asylum) where the asset is automatically available

optionalBlock

A list of group names the asset blocks access to

optionalBodyCosplay

BodyCosplay?: boolean = ```ts false ```

Is the asset considered body cosplay?

Any asset with that property set will be blocked from being removed if the character has Character.OnlineSharedSettings.BlockBodyCosplay set to true.

They will also be considered their own strip layer when making a character naked in the wardrobe.

optionalBonus

Whether wearing the asset gives a bonus in the Kidnap minigame.

optionalBuyGroup

BuyGroup?: string

Identifies a set of assets that's part of the same group for shopping purposes. Buying one will give access to all of them.

optionalCategory

Category?: AssetCategory[]

A list of categories. Used to prevent the asset to be used, per chatroom settings

optionalCharacterRestricted

CharacterRestricted?: boolean

Whether the asset is restricted to a given character.

When the asset is added to a character, the member number of the character using the asset will be stored along in its properties, and all subsequent modifications will only be possible for that character.

optionalColorSuffix

ColorSuffix?: Record<string, string>

optionalCopyConfig

CopyConfig?: { AssetName: string; BuyGroup?: boolean; GroupName: AssetGroupName }

The group name and asset name of a configuration to copy. Useful if multiple items share the same config.


Type declaration

  • AssetName: string

    The name of the asset

  • optionalBuyGroup?: boolean

    Whether to automatically assign a AssetDefinition.BuyGroup to the config and, if required, to set it for all CopyConfig-referenced super configs

  • GroupName: AssetGroupName

    The name of the group

optionalCraftGroup

CraftGroup?: string

An identifier that marks the asset as being the same for the purpose of crafting.

Do note that this expects all the assets in the craft group to have compatible layers, color-wise and type-wise.

optionalCreateLayerTypes

CreateLayerTypes?: string[]

optionalCustomBlindBackground

CustomBlindBackground?: string

optionalDefaultColor

DefaultColor?: ItemColor

optionalDefaultTint

DefaultTint?: string

The default tint color (unless overriden by TintDefinition.DefaultColor

optionalDialogSortOverride

DialogSortOverride?: DialogSortOrder

optionalDifficulty

Difficulty?: number

A measure of how hard it is to remove the asset. Defaults to 0.

optionalDrawLocks

DrawLocks?: boolean = ```ts true ```

Whether a AssetLayerDefinition.LockLayer-supporting layer should automatically be generated.

Will always be set to false if AssetDefinition.AllowLock is false.

optionalDynamicActivity

DynamicActivity?: (C: Character) => ActivityName

Type declaration

optionalDynamicAfterDraw

DynamicAfterDraw?: boolean

optionalDynamicAllowInventoryAdd

DynamicAllowInventoryAdd?: (C: Character) => boolean

Type declaration

optionalDynamicAudio

DynamicAudio?: (C: Character) => string

Type declaration

optionalDynamicBeforeDraw

DynamicBeforeDraw?: boolean

optionalDynamicDescription

DynamicDescription?: (C: Character) => string

Type declaration

optionalDynamicGroupName

DynamicGroupName?: AssetGroupName

The real group name used when building the file paths for the asset's layers

optionalDynamicName

DynamicName?: (C: Character) => string

Type declaration

optionalDynamicPreviewImage

DynamicPreviewImage?: (C: Character) => string

Type declaration

optionalDynamicScriptDraw

DynamicScriptDraw?: boolean

optionalEditOpacity

EditOpacity?: boolean

optionalEffect

Effect?: EffectName[]

A list of effects wearing the asset causes on the character

optionalEnable

Enable?: boolean = ```ts true A disabled asset cannot be used on a character. They will also never be used as part of a random appearance. ```

Whether the asset is enabled or not.

optionalExclusiveUnlock

ExclusiveUnlock?: boolean

optionalExpose

A list of group names the asset restores access to.

Mostly used for clothes, and might be considered a duplicate of AllowActivityOn.

optionalExpressionPrerequisite

ExpressionPrerequisite?: AssetPrerequisite[]

A list of prerequisite checks that must pass for the group's expressions to be selectable

optionalExpressionTrigger

ExpressionTrigger?: ExpressionTrigger[]

A list of facial expression using the asset causes to the character

optionalExtended

Extended?: boolean

optionalFamilyOnly

FamilyOnly?: boolean

Whether the asset is only available to the family.

optionalFetish

Fetish?: FetishName[]

optionalFixedPosition

FixedPosition?: boolean

Whether the asset is drawn at an absolute position.

optionalFreezeActivePose

FreezeActivePose?: never

A list of pose categories that the character will be prevented to change

@deprecated

Use AssetDefinition.AllowActivePose instead

optionalFullAlpha

FullAlpha?: boolean

Enable the special color drawing mode used for eyes

optionalGender

Gender?: AssetGender

optionalHeight

Height?: number

optionalHide

A list of group names that get hidden when the asset is worn

optionalHideForPose

HideForPose?: never

A list of poses that hide the asset when they get set.

Note that this does not prevent usage of the pose (see AssetDefinition.AllowActivePose). Values are automatically added to Asset.AllowPose.

@deprecated

optionalHideItem

HideItem?: string[]

A list of asset names that get hidden when the asset is worn.

optionalHideItemAttribute

HideItemAttribute?: AssetAttribute[]

A list of attributes that causes this one to become hidden.

optionalHideItemExclude

HideItemExclude?: string[]

A list of asset names that get shown when the asset is worn. Only useful when combined with Hide

optionalInheritColor

InheritColor?: AssetGroupName

The group the target should inherit its color from.

optionalInventoryID

InventoryID?: number

The asset's InventoryID to be synced with the server and other players

optionalIsLock

IsLock?: boolean

optionalIsRestraint

IsRestraint?: boolean = ```ts false ```

Is the asset considered a restraint?

Any asset with that property set will be removed when the character is released, and the safeword system will consider them as freeable.

optionalLayer

The list of layers for the asset.

optionalLayerVisibility

LayerVisibility?: boolean

Enables advanced layer visibility on the asset. See AssetLayerDefinition.Visibility for more information.

optionalLeft

Left?: Definition

The left coordinate of the target draw rect or a record with pose-specific left coordinates.

@example
Left: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalLoverOnly

LoverOnly?: boolean

Whether the asset is only available to lovers.

optionalMaxOpacity

MaxOpacity?: number

optionalMaxTimer

MaxTimer?: number

optionalMinOpacity

MinOpacity?: number

optionalMirrorExpression

MirrorExpression?: AssetGroupBodyName

Name

Name: string

The asset's internal name.

optionalNeverSell

NeverSell?: boolean

Whether an item should never be able to be sold.

Should be used for items that can be bought and can be earned for free.

optionalNotVisibleOnScreen

NotVisibleOnScreen?: string[]

A list of screens where current asset won't be shown.

optionalOpacity

Opacity?: number

optionalOverrideBlinking

OverrideBlinking?: boolean

optionalOverrideHeight

OverrideHeight?: AssetOverrideHeight

optionalOwnerOnly

OwnerOnly?: boolean

Whether the asset is only available to owners.

optionalParentGroup

ParentGroup?: AssetGroupName

A group identifier that will be used to inherit the body size

optionalParentItem

ParentItem?: string

Link an asset to another.

Used for the random appearance generator, to ensure combined assets match. Eyes, as well as the student tops and bottoms make use of it.

optionalPickDifficulty

PickDifficulty?: number

optionalPoseMapping

PoseMapping?: Partial<Record<AssetPoseName, AssetPoseName | PoseType>>

A record mapping pose names to the actually to-be drawn poses. Special values can be specified, via use of PoseType, for either hiding the asset or using pose-agnostic assets.

Poses that are absent from the mapping (or whose value is set to PoseType.DEFAULT) will use the default pose-agnostic path.

optionalPrerequisite

optionalPreviewIcons

PreviewIcons?: InventoryIcon[]

A list of icons the asset preview should show. Only used by the handheld items, as the game handles the other icons automatically.

optionalPriority

Priority?: number

The drawing priority of the target

optionalRandom

Random?: boolean = ```ts true ```

Whether the asset can be selected for a random appearance.

optionalRemoveAtLogin

RemoveAtLogin?: boolean

Whether the asset gets removed automatically when the character log in. Defaults to false.

optionalRemoveItemOnRemove

RemoveItemOnRemove?: { Group: AssetGroupItemName; Name: string; TypeRecord?: TypeRecord }[]

A list of assets to also remove when the asset is taken off.

optionalRemoveTime

RemoveTime?: number

optionalRemoveTimer

RemoveTimer?: number

optionalRequire

Require?: AssetGroupBodyName[]

A list of body group that becomes required when this asset is worn.

Used by the random appearance generator to know that it should also pick a random asset from the required group when that asset is used.

optionalSelfBondage

SelfBondage?: number

optionalSelfUnlock

SelfUnlock?: boolean

optionalSetPose

SetPose?: AssetPoseName[]

A pose that the character will change to when wearing the asset

optionalTime

Time?: number

optionalTint

Applies screen tints when the asset is worn

optionalTop

The top coordinate of the target draw rect or a record with pose-specific top coordinates.

@example
Top: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalValue

Value?: number

The cost of the asset in the shop. Defaults to 0.

A value of -1 makes the asset unavailable, a value of 0 makes it always available.

optionalVisible

Visible?: boolean

Whether the asset appears visually. Defaults to true.

optionalWear

Wear?: boolean = ```ts true An unwearable asset will not actually end up in the group it's used on. ```

Whether the asset can be worn.

optionalWhitelistActivePose

WhitelistActivePose?: never
@deprecated
  • Use AssetDefinition.AllowActivePose instead

optionalZoom

Zoom?: number