The MagicItem component inherits from the Item component and allows the item to cast a magic spell when used. The MagicItem implements the IUesableItem interface and registers for the used callback so it knows when to cast the spell.
By default the spell will only apply a damage, but you can receive a callback to apply any game specific events. The spell can be casted continuously until the use event has stopped or once when the used event is fired. In addition, the shape of the cast can be linear or spherical.
Can Use In Air
Can the item be used in the air?
Specifies how often the magic is casted
Specifies the shape of the cast
The number of casts per second
The point at which to do the actual cast
The distance of the cast. Only used if the CastShape is linear
The radius of the cast
The amount of ConsumableItem to use for each item use
The layers that the cast can hit
Wait For End Use Event
Should the magic wait for the OnAnimatorItemEndUse to return to a non-use state?
Can Stop Before Use
Can the magic be stopped before the used method is called?
Continuous Min Use Duration
Minimum amount of time that the continuous item can be used
The speed at which to regenerate the ammo
The amount of ammo to add each regenerative tick. RegenerativeRate must be greater than 0
Optionally specify any particles that should play when the magic is casted
Optionally specify a sound that should randomly play when the magic is casted
Cast Sound Delay
If Cast Sound is specified, play the sound after the specified delay
Optionally specify an event to send to the object hit by the cast
The amount of damage done to the object hit
If the cast hits multiple objects should the damage amount be distributed evenly across all objects?
How much force is applied to the object hit
Default Impact Sound
Optionally specify a default impact sound that should play at the point of the object hit. This is only used if no per-object sound is setup in the ObjectManager
Optionally specify any default sparks that should appear on top of the object hit. This is only used if no per-object spark is setup in the ObjectManager
<- Shootable Weapon