#hitbox spawn, teleport to face, distance
$execute at @s positioned ~ ~1.25 ~ run summon item_display ~ ~ ~ {HasVisualFire:0b,teleport_duration:1,Tags:["$(id)_$(character)_$(type)_newborn","hitbox","$(id)_$(character)_$(type)_arrow","arrow","newborn"$(tag)],transformation:[-1.0000f,0.0000f,-0.0000f,0.0000f,0.0000f,1.2500f,0.0000f,0.5000f,0.0000f,0.0000f,-1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,1.0000f],item:{id:"minecraft:paper",count:1b,components:{item_model:"minecraft:weapons/arrow"}}}

$scoreboard objectives remove $(id)_$(character)_$(type)_hit_cooldown
$scoreboard objectives add $(id)_$(character)_$(type)_hit_cooldown dummy
scoreboard objectives remove pierced
scoreboard objectives add pierced dummy
$data remove storage gravity $(id)_$(character)_$(type)

$execute at @s positioned ^ ^ ^ rotated $(angle) as @e[type=item_display,tag=$(id)_$(character)_$(type)_newborn] run teleport @s ^ ^ ^ ~ ~

$execute as @e[type=item_display,tag=$(id)_$(character)_$(type)_newborn] at @s run scoreboard players set @s projectile 1200

$execute as @e[type=item_display,tag=$(id)_$(character)_$(type)_newborn] at @s run scoreboard players set @s pierce $(pierce)

$execute as @e[type=item_display,tag=$(id)_$(character)_$(type)_newborn] at @s run function main:mechanics/arrow/fly {"id":$(id),"character":$(character),"type":$(type)}

$execute as @e[type=item_display,tag=$(id)_$(character)_$(type)_newborn] run tag @s remove $(id)_$(character)_$(type)_newborn