Casts a projectile with the following options
Casting Frame: When during the move the should the projectile be created.
Projectile Prefab: Drag a game prefab to represent the projectile.
Impact Prefab: A game prefab that is created upon projectile impact.
Impact Duration (seconds): Time until the Impact Prefab is destroyed.
Preview Click this button to preview the projectile. Cyan hitbox is the impact, Dark Blue hitbox is the blockable area. Note: your projectile may not appear if the particle effect is a child in the prefab. In this case, just select the child in the hierarchy and it will appear.
Body Part Origin: Where on the character the projectile is created.
Spawn Position: Which Custom Hitbox will the projectile be created at.
Ignore z axis variation: If enabled, projectile is always cast with the same z position as the characters. Enable this for more accurate alignment and consistent hitbox behavior, especially if your camera tends to rotate a lot or has wide perspective.
Casting Offset: Offset the casting position relative to the bodypart origin.
Duration (Seconds): How long the projectile will last on screen before self destruct.
Mirror On Right Side: If enabled, the projectile will have it's Y rotation flipped by 180. The impact prefab will also have it's Y rotation flipped by 180.
Speed: The speed of the projectile.
Direction (Angle): Select the angle the projectile will be fired at. 0 is forward.
Apply Gravity: If enabled, gravity will be applied to the projectile.
Force Applied: The amount of force applied to the projectile. Use this to move the projectile.
Weight: A positive value will cause the projectile to fall. A negative value will cause the projectile to rise.
Limit Multicasting: If enabled, you can place restrictions on projectiles.
Shape: Select between circle and rectangle.
(Circle) Hit Radius\Offset: The radius and offset of the projectile's hurtbox. For a more consistent hit effect, by default radius is set to 0 (hit only detected when the “dot” crosses one of the opponent's hit boxes).
(Rectangle) Rectangle: The position and size of the rectangle hurt box relative to the origin of the projectile prefab. If Follow Projectile Bounds is set below, you can use W and H to adjust the width and height relative to the projectile.
(Rectangle) Follow Projectile Bounds (X/Y): If enabled, the rectangle will follow the render bounds of the projectile prefab.
Unblockable: If enabled, this projectile is unblockable and this sections options are disabled.
Shape: Select between circle and rectangle.
(Circle) Hit Radius\Offset: The radius and offset of the projectile's blockable area.
(Rectangle) Rectangle: The position and size of the rectangle blockable area relative to the origin of the projectile prefab. If Follow Projectile Bounds is set below, you can use W and H to adjust the width and height relative to the projectile.
(Rectangle) Follow Projectile Bounds (X/Y): If enabled, the rectangle will follow the render bounds of the projectile prefab.
Hit Projectiles: Should this projectile collide with other projectiles?
Hit ground opponent: If toggled on, this projectile can strike opponents that are on the ground (but not knockdown)
Hit air opponent: If toggled on, this projectile can strike air opponents.
Hit down opponent: If toggled on, this projectile can strike knocked down opponents. Make sure you have knockdown hitboxes toggled on.
Hit Type: Determine the hit conditions for this move to be blockable or trigger a different animation.
Get Hit High Knockdown
animation. This hit can only be blocked high.Get Hit High Knockdown
animation. This hit can be blocked either high or low.Get Hit Knock Back
animation. Must apply vertical force for it to work.Get Hit Sweep
animation. This hit can only be blocked low.Total Hits: If this projectile can hit multiple times, set them here.
Space Between Hits: If the projectile has more than 1 one hit, how much interval between each hit should it hit again. Example: Selecting High will put more time between hits.
Push Force: When the projectile hits, how far should it push the opponent.
Apply Different Air Force: If enabled, how far should it push the opponent when hit in the air.
Apply Different Block Force: If enabled, how far should it push the opponent when hit on block.
Obey Directional Hit: When the projectile hits, the forces applied will obey the opponent position in relation to the caster.
Display Hit Effects on Strike: If disabled the standard effect from Hit Strength
will not appear.
Hit Strength: Set what kind of hit this is based on your hit effect options.
Armor Breaker: If enabled, this projectile will ignore any armor the opposing move has.
Fix Rotation:
Override Hit Effect: If enabled, it will replace the default hit effect by the one selected in the panel below this option.
Destroy When Off Camera: If enabled, the projectile will be destroyed if it goes past the camera's left or right boundary.
Damage Type: Set if the damage is in points or percentage.
Damage on Hit: Damage caused on hit.
Damage on Block: Damage caused on block.
Damage Scaling: Whether or not damage is scaled down based on Combo Options.
Hit Doesn't Kill: If enabled, any damage applied by the projectile won't cause the opponent to die.
Reset Hit Stun: If you are using hit stun deterioration, enable this to reset the stun and its deterioration value.
Hit Stun on Hit: The amount of frames the opponent will remain stunned for after a hit.
Hit Stun on Block: The amount of frames the opponent will remain stunned for after a block.
On Strike: If the projectile hits the opponent, override whatever the caster is doing with this move.
On Block: If the projectile hits the opponent while they are blocking, override whatever the caster is doing with this move.
On Parry: If the opponent parry this projectile, override whatever the caster is doing with this move.
Force Grounded: Immediately pulls the character (caster) back to the ground on hit.
Code example:
void OnHit(HitBox strokeHitBox, MoveInfo move, CharacterInfo hitter){ foreach(Projectile projectile in move.projectiles){ Debug.Log("Damage:"+ projectile.damageOnHit); } }