The ThrowableAction is used for items that can be thrown. It differentiates from the ShootableAction by re-equipping items instead of reloading and it does not have a clip.
The Module groups for the ThrowableAction are
- Trigger [S]: Simple is usually used.
- Usable [M]: For any module shared between UsableItemAction.
- Thrower [S]: The main throwable module that controls how the projectiles are fired.
- Ammo [S]: The ammo used, usually the item itself.
- Projectile [S]: The projectile to fire.
- Throw Effects [M]: The effects to trigger when firing.
- Impact [M]: Invoke function on impact using the ImpactData.
- Reequiper [S]: Re-equips the item after it was thrown.
- Extra [M]: Any other modules that are specific to throwable but does not fit in any other group.
Groups noted as ‘[M]’ can have many modules active at once. Usually all the enabled modules are considered active.
The Throwable modules are used to fire the projectiles. The ThrowableThrowData contains the following properties:
- Fire Point: the point where the projectile will be fired.
- Fire Direction: The direction in which the projectile will be fired.
- Projectile Data: The ProjectileData (contains the AmmoData).
- Trajectory Transform: The location of the trajectory.
- Throw Transform: The location of the throw transform.
- Trajectory Offset: An offset to the trajectory or the projectile.
- Impact Layers: The layers in which the projectile can impact.
- Velocity: The projectile velocity once fired.
Throws the projectile from the projectile module. It is possible to get data about the throw before it happens such that other modules can predict and visualize the throw.
The ammo is usually the item itself but it doesn’t have to be. The AmmoData added to the ThrowableStreamData contains the following properties
- Valid: True if the ammo is valid.
- Ammo Module: The ammo module.
- Item Definition: Optionally assign an ItemDefinition for the ammo.
- Index: The index of the ammo within the clip.
- Value: A value associated to the ammo to differentiate it from others.
- User Data: Can be used for custom ammo modules.
Uses the ItemAmount within the Inventory as ammo. The amount is removed when throwing the item.
This module defines what projectile object gets spawned and when. The ProjectileData contains the following properties
- Projectile Module: The projectile module.
- Throwable Ammo: The ThrowableAmmoData.
- Spawned Projectile GO: The spawned projectile GameObject.
- Was Prespawned Projectile: Was the projectile spawned before it is to be thrown.
- Spawned Trajectory Object: The TrajectoryObject that was spawned if there is one.
Spawn a projectile. The projectile is spawned the moment the item is thrown.
The effects invoked when an item is thrown.
Generic Item Effects
Invokes the Generic Item Effects.
Invoke functions when the projectile impacts a target.
Generic Throwable Impact Module
Invokes the Impact Action Group.
The module in charge of re-equipping the item after it has been thrown.
Changes the SubstateIndex to have a different animation for re-equipping if necessary.
Extra modules that do not fit in any other group.
Throwable Visualize Trajectory
Visualize the trajectory of the throw using this module.
A module used to remove the pin of a grenade throwable projectile.
Slot Item Monitor Module
Module used to define what information to show in the Slot Item Monitor.