@cccode/fxr - v22.0.0

    Class DataAction

    Base class for all actions that are defined in ActionData. These actions have a very different structure compared to regular Actions that you see in FXR files. They only have named properties. There is very little difference between a property and a field, and they can often be represented as single numbers both of them.

    This different structure is used to allow a single DataAction to represent an action from any of the supported games at the same time, and also makes it possible to perform certain actions that are difficult to do with regular actions, like recoloring or resizing.

    This class is not meant to be used directly. Instead, use the classes that extend it. There is one for every known action in all of the supported games, and also most of the unknown actions.

    Hierarchy (View Summary, Expand)

    Implements

    Index

    Constructors

    Properties

    The numeric ID for the type of action this represents.

    Accessors

    Methods

    • Yields all unique color values in the action.

      Returns Generator<Vector4, void, unknown>

    • Returns { property: string; textureType?: string; type: ResourceType }[]

    • Creates a minified version of this action.

      Some actions can be minified to make the output smaller. This is done by creating a simpler action that is functionally equivalent to this action.

      Actions that can not be minified will not be changed.

      Returns any

    • Scale the size of the action by a factor. This only does something when used with actions that have scaling properties.

      Parameters

      • factor: number

        The factor to scale by.

      • options: { mode?: ScalingMode } = {}

      Returns DataAction

    • Scale the rate of time for the action.

      This method's main purpose is to serve as a fallback for changing the rate of time for Dark Souls 3 effects, which doesn't support the rateOfTime property. The rate of time is automatically scaled when writing effects for DS3, you do not need to do this yourself. As such, this method is only useful if you want to scale the rate of time for individual parts of an effect, or if you need the extra options available for this method.

      Parameters

      • factor: number

        The factor to scale the rate of time by. Setting this to 2 will make the action play twice as fast. Setting it to 0.5 will make it play half as fast.

      • Optionaloptions: { scaleTracerDuration?: boolean } = {}

        Extra options for changing how the scaling is applied to different properties.

      Returns DataAction

    MMNEPVFCICPMFPCPTTAAATR